Module: ExpressAdmin::StandardActions::ClassMethods
- Defined in:
- lib/express_admin/standard_actions.rb
Instance Method Summary collapse
- #infer_resource_class ⇒ Object
- #inherited(base) ⇒ Object
- #manages(a_resource_class) ⇒ Object
- #resource_name ⇒ Object
Instance Method Details
#infer_resource_class ⇒ Object
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 <<-RUBY def #{base.resource_name}_params params.require(:#{base.resource_name}).permit! end RUBY base.class_eval do class_attribute :resource_class self.resource_class = infer_resource_class if self.resource_class.respond_to?(:commands) self.resource_class.commands.each do |command| define_command_method(command[:name].debang, command[:name]) end end end end |
#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_name ⇒ Object
45 46 47 |
# File 'lib/express_admin/standard_actions.rb', line 45 def resource_name self.to_s.demodulize.gsub(/Controller$/, '').singularize.underscore end |