Class: ActionPolicy::Policy::ExecutionResult

Inherits:
Object
  • Object
show all
Defined in:
lib/action_policy/policy/execution_result.rb

Overview

Result of applying a policy rule

This class could be extended by some modules to provide additional functionality

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(policy, rule) ⇒ ExecutionResult

Returns a new instance of ExecutionResult.



12
13
14
15
# File 'lib/action_policy/policy/execution_result.rb', line 12

def initialize(policy, rule)
  @policy = policy
  @rule = rule
end

Instance Attribute Details

#policyObject (readonly)

Returns the value of attribute policy.



10
11
12
# File 'lib/action_policy/policy/execution_result.rb', line 10

def policy
  @policy
end

#ruleObject (readonly)

Returns the value of attribute rule.



10
11
12
# File 'lib/action_policy/policy/execution_result.rb', line 10

def rule
  @rule
end

#valueObject (readonly)

Returns the value of attribute value.



10
11
12
# File 'lib/action_policy/policy/execution_result.rb', line 10

def value
  @value
end

Instance Method Details

#cached!Object



26
27
28
# File 'lib/action_policy/policy/execution_result.rb', line 26

def cached!
  @cached = true
end

#cached?Boolean

Returns:

  • (Boolean)


30
# File 'lib/action_policy/policy/execution_result.rb', line 30

def cached?() = @cached == true

#fail?Boolean

Returns:

  • (Boolean)


24
# File 'lib/action_policy/policy/execution_result.rb', line 24

def fail?() = @value == false

#inspectObject



32
33
34
# File 'lib/action_policy/policy/execution_result.rb', line 32

def inspect
  "<#{policy}##{rule}: #{@value}>"
end

#load(value) ⇒ Object

Populate the final value



18
19
20
# File 'lib/action_policy/policy/execution_result.rb', line 18

def load(value)
  @value = value
end

#success?Boolean

Returns:

  • (Boolean)


22
# File 'lib/action_policy/policy/execution_result.rb', line 22

def success?() = @value == true