Class: Dry::Ability::ResourceMediator
- Inherits:
-
Object
- Object
- Dry::Ability::ResourceMediator
- Defined in:
- lib/dry/ability/resource_mediator.rb
Instance Method Summary collapse
- #before(controller) ⇒ Object
- #collection_action?(action_name) ⇒ Boolean
- #member_action?(action_name, params) ⇒ Boolean
- #resource_class(controller) ⇒ Object
Instance Method Details
#before(controller) ⇒ Object
72 73 74 |
# File 'lib/dry/ability/resource_mediator.rb', line 72 def before(controller) resource_class(controller).new(self, controller).call end |
#collection_action?(action_name) ⇒ Boolean
89 90 91 |
# File 'lib/dry/ability/resource_mediator.rb', line 89 def collection_action?(action_name, *) @collection_actions.include?(action_name) end |
#member_action?(action_name, params) ⇒ Boolean
84 85 86 87 |
# File 'lib/dry/ability/resource_mediator.rb', line 84 def member_action?(action_name, params) @new_actions.include?(action_name) || singleton? || ((params[:id] || params[@id_param_key]) && !@collection_actions.include?(action_name)) end |
#resource_class(controller) ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/dry/ability/resource_mediator.rb', line 76 def resource_class(controller) if defined?(::InheritedResources) && controller.is_a?(::InheritedResources::Actions) InheritedResource else ControllerResource end end |