Class: Himari::Decisions::Claims
- Inherits:
-
Base
- Object
- Base
- Himari::Decisions::Claims
show all
- Defined in:
- lib/himari/decisions/claims.rb
Defined Under Namespace
Classes: AlreadyInitializedError, Context, UninitializedError
Instance Attribute Summary
Attributes inherited from Base
#effect, #effect_comment, #rule_name
Instance Method Summary
collapse
Methods inherited from Base
#allow!, allow_effects, #continue!, #decide!, #deny!, #evolve, #set_rule_name, #skip!, #to_h, valid_effects
Constructor Details
#initialize(claims: nil, user_data: nil) ⇒ Claims
Returns a new instance of Claims.
16
17
18
19
20
|
# File 'lib/himari/decisions/claims.rb', line 16
def initialize(claims: nil, user_data: nil)
super()
@claims = claims
@user_data = user_data
end
|
Instance Method Details
#as_log ⇒ Object
29
30
31
|
# File 'lib/himari/decisions/claims.rb', line 29
def as_log
to_h.merge(claims: @claims)
end
|
#claims ⇒ Object
45
46
47
48
49
50
|
# File 'lib/himari/decisions/claims.rb', line 45
def claims
unless @claims
raise UninitializedError, "Claims uninitialized; use decision.initialize_claims! to declare claims first (or rule order might be unintentional)" unless @claims
end
@claims
end
|
#initialize_claims!(claims = {}) ⇒ Object
37
38
39
40
41
42
43
|
# File 'lib/himari/decisions/claims.rb', line 37
def initialize_claims!(claims = {})
if @claims
raise AlreadyInitializedError, "Claims already initialized; use decision.claims to make modification, or rule might be behaving wrong"
end
@claims = claims.dup
@user_data = {}
end
|
#output ⇒ Object
33
34
35
|
# File 'lib/himari/decisions/claims.rb', line 33
def output
Himari::SessionData.new(claims: claims, user_data: user_data)
end
|
#to_evolve_args ⇒ Object
22
23
24
25
26
27
|
# File 'lib/himari/decisions/claims.rb', line 22
def to_evolve_args
{
claims: @claims.dup,
user_data: @user_data.dup,
}
end
|
#user_data ⇒ Object
52
53
54
55
|
# File 'lib/himari/decisions/claims.rb', line 52
def user_data
claims @user_data
end
|