Module: RailsStuff::ResourcesController::BasicHelpers::ClassMethods
- Defined in:
- lib/rails_stuff/resources_controller/basic_helpers.rb
Instance Attribute Summary collapse
-
#after_save_action ⇒ Object
Defines action to redirect after resource was saved.
-
#permitted_attrs ⇒ Object
Class-level permitted attributes.
-
#resource_class ⇒ Object
Resource class for controller.
-
#resource_param_name ⇒ Object
Key to lookup for resource attributes in ‘params`.
Instance Method Summary collapse
-
#authorize_resource ⇒ Object
Prevent CanCan’s implementation.
-
#has_scope ⇒ Object
This method overrides default ‘has_scope`.
-
#permit_attrs(*attrs) ⇒ Object
Concats ‘@permitted_attrs` variable with given attrs.
Instance Attribute Details
#after_save_action ⇒ Object
Defines action to redirect after resource was saved. Default to ‘:show`.
27 28 29 |
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 27 def after_save_action @after_save_action end |
#permitted_attrs ⇒ Object
Class-level permitted attributes.
‘attr_reader`, default to `[]`.
45 46 47 |
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 45 def permitted_attrs @permitted_attrs ||= [] end |
#resource_class ⇒ Object
Resource class for controller. Default to class, based on demodulized controller name.
31 32 33 34 |
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 31 def resource_class @resource_class ||= Object.const_get(name.to_s.demodulize.sub(/Controller$/, '').singularize) end |
#resource_param_name ⇒ Object
Key to lookup for resource attributes in ‘params`. Default to class’es ‘param_key`.
38 39 40 |
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 38 def resource_param_name @resource_param_name ||= resource_class.model_name.param_key end |
Instance Method Details
#authorize_resource ⇒ Object
Prevent CanCan’s implementation.
66 67 68 |
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 66 def raise 'use `before_action :authorize_resource!` instead' end |
#has_scope ⇒ Object
This method overrides default ‘has_scope`. It calls default implementation and overrides `collection` to use `apply_scope`.
56 57 58 59 60 61 62 63 |
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 56 def has_scope(*) super.tap do define_method :collection do @_collection ||= apply_scopes(source_for_collection) end protected :collection end end |
#permit_attrs(*attrs) ⇒ Object
Concats ‘@permitted_attrs` variable with given attrs.
50 51 52 |
# File 'lib/rails_stuff/resources_controller/basic_helpers.rb', line 50 def permit_attrs(*attrs) permitted_attrs.concat attrs end |