Class: Policier::Context
- Inherits:
-
Object
show all
- Defined in:
- lib/policier/context.rb
Defined Under Namespace
Classes: DuplicatePayloadKey, NotInScopeException, ScopeStartedEvaluation
Constant Summary
collapse
- THREAD_CURRENT_KEY =
:policier_context_current
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(payload) ⇒ Context
Returns a new instance of Context.
43
44
45
46
47
|
# File 'lib/policier/context.rb', line 43
def initialize(payload)
@payload = payload
@conditions = {}
@data = {}
end
|
Instance Attribute Details
#payload ⇒ Object
Returns the value of attribute payload.
41
42
43
|
# File 'lib/policier/context.rb', line 41
def payload
@payload
end
|
Class Method Details
.scope(payload = {}) ⇒ Object
Instance Method Details
#ensure_condiiton(condition_class) ⇒ Object
66
67
68
|
# File 'lib/policier/context.rb', line 66
def ensure_condiiton(condition_class)
@conditions[condition_class] ||= condition_class.new.verify
end
|
#evaluation_started? ⇒ Boolean
62
63
64
|
# File 'lib/policier/context.rb', line 62
def evaluation_started?
@conditions.present?
end
|
#init_data(condition_class, data_class) ⇒ Object
49
50
51
|
# File 'lib/policier/context.rb', line 49
def init_data(condition_class, data_class)
@data[condition_class] = data_class.new
end
|
#mock_condition(*condtion_classes, failed: false, data_replacement: {}) ⇒ Object
53
54
55
56
57
58
59
60
|
# File 'lib/policier/context.rb', line 53
def mock_condition(*condtion_classes, failed: false, data_replacement: {})
condtion_classes.each do |condition_class|
@condition[condition_class] ||= condition_class.new.iverride!(
failed: failed,
data_replacement: data_replacement
)
end
end
|