Class: Dry::Ability::ResourceMediator

Inherits:
Object
  • Object
show all
Defined in:
lib/dry/ability/resource_mediator.rb

Instance Method Summary collapse

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

Returns:

  • (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

Returns:

  • (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