Class: Trailblazer::Macro::Policy::Pundit::Condition

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

Overview

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

Instance Method Summary collapse

Constructor Details

#initialize(policy_class, action) ⇒ Condition

Returns a new instance of Condition.



14
15
16
# File 'lib/trailblazer/macro/pundit.rb', line 14

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

Instance Method Details

#call(options) ⇒ Object

Instantiate the actual policy object, and call it.



19
20
21
22
# File 'lib/trailblazer/macro/pundit.rb', line 19

def call((options), *)
  policy = build_policy(options) # this translates to Pundit interface.
  result!(policy.send(@action), policy)
end