Module: ExpressAdmin::StandardActions::ClassMethods

Defined in:
lib/express_admin/standard_actions.rb

Instance Method Summary collapse

Instance Method Details

#infer_resource_classObject



49
50
51
52
53
54
55
56
# File 'lib/express_admin/standard_actions.rb', line 49

def infer_resource_class
  klass = nil
  if self.parent
    klass = self.parent.const_get(resource_name.classify) rescue nil
  end
  klass ||= resource_name.classify.constantize rescue nil
  klass
end

#inherited(base) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/express_admin/standard_actions.rb', line 21

def inherited(base)
  base.class_eval "    def \#{base.resource_name}_params\n      params.require(:\#{base.resource_name}).permit!\n    end\n  RUBY\n\n  base.class_eval do\n\n    class_attribute :resource_class\n    self.resource_class = infer_resource_class\n\n    if self.resource_class.respond_to?(:commands)\n      self.resource_class.commands.each do |command|\n        define_command_method(command[:name].debang, command[:name])\n      end\n    end\n  end\nend\n"

#manages(a_resource_class) ⇒ Object



41
42
43
# File 'lib/express_admin/standard_actions.rb', line 41

def manages(a_resource_class)
  self.resource_class = a_resource_class
end

#resource_nameObject



45
46
47
# File 'lib/express_admin/standard_actions.rb', line 45

def resource_name
  self.to_s.demodulize.gsub(/Controller$/, '').singularize.underscore
end