Class: Hubbado::Trailblazer::Macro::Policy::Condition

Inherits:
Object
  • Object
show all
Defined in:
lib/hubbado/trailblazer/macro/policy.rb

Overview

Pundit::Condition is invoked at runtime when iterating the pipe.

Instance Method Summary collapse

Constructor Details

#initialize(policy_class, action, model) ⇒ Condition

Returns a new instance of Condition.



17
18
19
20
21
# File 'lib/hubbado/trailblazer/macro/policy.rb', line 17

def initialize(policy_class, action, model)
  @policy_class = policy_class
  @action = action
  @model = model
end

Instance Method Details

#call(options) ⇒ Object

Instantiate the actual policy object, and call it.



24
25
26
27
# File 'lib/hubbado/trailblazer/macro/policy.rb', line 24

def call((options), *)
  policy = build_policy(options)
  result!(policy.send(@action), policy)
end