module AutoloadResources::Able

Public Instance Methods

autoload_resources(action_name=params[:action]) click to toggle source
# File lib/autoload_resources/able.rb, line 5
def autoload_resources(action_name=params[:action])
  proc = self.class.ancestors.grep(Class).select do |klass|
    klass.ancestors.include?(ActionController::Base) && klass != ActionController::Base
  end.collect do |klass|
    klass.autoload_procs[action_name]
  end.compact.first
  return unless proc
  value = instance_eval(&proc)
  self.class.autoload_instance_variable_names(action_name).each do |instance_variable_name|
    instance_variable_set(
      "@#{instance_variable_name}",
      value
    )
  end
  value
end