Module: RailsStuff::ResourcesController::StiHelpers::ClassMethods
- Defined in:
- lib/rails_stuff/resources_controller/sti_helpers.rb
Instance Method Summary collapse
-
#permit_attrs_for(klass, *attrs) ⇒ Object
Permits attrs only for specific class.
-
#permitted_attrs_for ⇒ Object
Class-level accessor to permitted attributes for specisic class.
-
#resource_class_by_type ⇒ Object
Returns hash which is used to get subclass for requested type.
Instance Method Details
#permit_attrs_for(klass, *attrs) ⇒ Object
Permits attrs only for specific class.
30 31 32 |
# File 'lib/rails_stuff/resources_controller/sti_helpers.rb', line 30 def permit_attrs_for(klass, *attrs) permitted_attrs_for[klass].concat attrs end |
#permitted_attrs_for ⇒ Object
Class-level accessor to permitted attributes for specisic class.
25 26 27 |
# File 'lib/rails_stuff/resources_controller/sti_helpers.rb', line 25 def permitted_attrs_for @permitted_attrs_for ||= Hash.new { |h, k| h[k] = [] } end |
#resource_class_by_type ⇒ Object
Returns hash which is used to get subclass for requested type.
By default it uses ‘.types_list` or `.descendants` to get list of classes and indexes them by class names.
14 15 16 17 18 19 20 21 22 |
# File 'lib/rails_stuff/resources_controller/sti_helpers.rb', line 14 def resource_class_by_type @resource_class_by_type ||= begin if resource_class.respond_to?(:types_list) resource_class.types_list else resource_class.descendants end.index_by(&:name) end end |