module AutoloadResources::Able::ClassMethods
Public Instance Methods
autoload_instance_variable_name(klass, action_name)
click to toggle source
# File lib/autoload_resources/able.rb, line 34 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)
click to toggle source
# File lib/autoload_resources/able.rb, line 41 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()
click to toggle source
# File lib/autoload_resources/able.rb, line 30 def autoload_procs @autoload_procs ||= HashWithIndifferentAccess.new end
autoload_resources() { || ... }
click to toggle source
# File lib/autoload_resources/able.rb, line 24 def autoload_resources set_default_autoload_procs yield if block_given? before_action :autoload_resources end
create_params_method()
click to toggle source
# File lib/autoload_resources/able.rb, line 79 def create_params_method autoload_instance_variable_names(:create).collect do |element| element + "_params" end.find do |params_method_name| private_method_defined? params_method_name end end
default_autoload_procs()
click to toggle source
# File lib/autoload_resources/able.rb, line 56 def default_autoload_procs { index: Proc.new { resource_class.all }, new: Proc.new { resource_class.new }, create: default_create_proc, [:show, :edit, :update, :destroy] => Proc.new { resource_class.find(params[:id]) } } end
default_create_proc()
click to toggle source
# File lib/autoload_resources/able.rb, line 65 def default_create_proc Proc.new do params_method = self.class.create_params_method params_method and resource_class.new(send(params_method)) end end
for_actions(actions, proc=nil, &block)
click to toggle source
# File lib/autoload_resources/able.rb, line 72 def for_actions(actions, proc=nil, &block) Array(actions).each do |action| autoload_procs[action] = block || proc end end
Also aliased as: for_action
set_default_autoload_procs()
click to toggle source
# File lib/autoload_resources/able.rb, line 49 def set_default_autoload_procs return unless resource_class default_autoload_procs.each do |actions, closure| for_actions(actions, closure) end end