Class: Policier::Runner

Inherits:
Object
  • Object
show all
Defined in:
lib/policier/runner.rb

Defined Under Namespace

Modules: DSL

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(policy) ⇒ Runner

Returns a new instance of Runner.



28
29
30
31
# File 'lib/policier/runner.rb', line 28

def initialize(policy)
  @policy = policy
  @scope_union = ScopeUnion.new(policy.model)
end

Instance Attribute Details

#scope_unionObject (readonly)

Returns the value of attribute scope_union.



26
27
28
# File 'lib/policier/runner.rb', line 26

def scope_union
  @scope_union
end

Instance Method Details

#allow(condition_union, &block) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/policier/runner.rb', line 33

def allow(condition_union, &block)
  condition_union.union.conditions.each do |condition|
    next if condition.failed?

    @scope_union.instance_exec(condition, &block)
  end
end