Module: AutoloadResources::Able::ClassMethods
- Defined in:
- lib/autoload_resources/able.rb
Instance Method Summary collapse
- #autoload_instance_variable_name(klass, action_name) ⇒ Object
- #autoload_instance_variable_names(action_name) ⇒ Object
- #autoload_procs ⇒ Object
- #autoload_resources ⇒ Object
- #default_autoload_procs ⇒ Object
- #for_actions(actions, proc = nil, &block) ⇒ Object (also: #for_action)
- #set_default_autoload_procs ⇒ Object
Instance Method Details
#autoload_instance_variable_name(klass, action_name) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/autoload_resources/able.rb', line 31 def autoload_instance_variable_name(klass, action_name) case String(action_name) when "index" then klass.model_name.plural else klass.model_name.element end end |
#autoload_instance_variable_names(action_name) ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/autoload_resources/able.rb', line 38 def autoload_instance_variable_names(action_name) resource_class.ancestors.grep(Class).select do |klass| klass != ActiveRecord::Base && klass.ancestors.include?(ActiveRecord::Base) end.collect do |klass| autoload_instance_variable_name(klass, action_name) end end |
#autoload_procs ⇒ Object
27 28 29 |
# File 'lib/autoload_resources/able.rb', line 27 def autoload_procs @autoload_procs ||= HashWithIndifferentAccess.new end |
#autoload_resources ⇒ Object
21 22 23 24 25 |
# File 'lib/autoload_resources/able.rb', line 21 def autoload_resources set_default_autoload_procs yield if block_given? before_action :autoload_resources end |
#default_autoload_procs ⇒ Object
53 54 55 56 57 58 59 60 |
# File 'lib/autoload_resources/able.rb', line 53 def default_autoload_procs { index: Proc.new { resource_class.all }, new: Proc.new { resource_class.new }, create: Proc.new { resource_class.new(params[resource_class.model_name.element]) }, [:show, :edit, :update, :destroy] => Proc.new { resource_class.find(params[:id]) } } end |
#for_actions(actions, proc = nil, &block) ⇒ Object Also known as: for_action
62 63 64 65 66 |
# File 'lib/autoload_resources/able.rb', line 62 def for_actions(actions, proc=nil, &block) Array(actions).each do |action| autoload_procs[action] = block || proc end end |
#set_default_autoload_procs ⇒ Object
46 47 48 49 50 51 |
# File 'lib/autoload_resources/able.rb', line 46 def set_default_autoload_procs return unless resource_class default_autoload_procs.each do |actions, closure| for_actions(actions, closure) end end |