Class: Himari::Decisions::Claims
- Defined in:
- lib/himari/decisions/claims.rb
Defined Under Namespace
Classes: AlreadyInitializedError, Context, UninitializedError
Instance Attribute Summary collapse
-
#lifetime ⇒ Object
Returns the value of attribute lifetime.
-
#refresh_info ⇒ Object
Returns the value of attribute refresh_info.
Attributes inherited from Base
#effect, #effect_comment, #effect_suggestion, #effect_user_facing_message, #rule_name
Instance Method Summary collapse
- #as_log ⇒ Object
- #claims ⇒ Object
-
#initialize(claims: nil, user_data: nil, lifetime: nil, refresh_info: nil) ⇒ Claims
constructor
A new instance of Claims.
- #initialize_claims!(claims = {}) ⇒ Object
- #output ⇒ Object
- #to_evolve_args ⇒ Object
- #user_data ⇒ Object
Methods inherited from Base
#allow!, allow_effects, #continue!, #decide!, #deny!, #evolve, #set_rule_name, #skip!, #to_h
Constructor Details
#initialize(claims: nil, user_data: nil, lifetime: nil, refresh_info: nil) ⇒ Claims
Returns a new instance of Claims.
19 20 21 22 23 24 25 |
# File 'lib/himari/decisions/claims.rb', line 19 def initialize(claims: nil, user_data: nil, lifetime: nil, refresh_info: nil) super() @claims = claims @user_data = user_data @lifetime = lifetime @refresh_info = refresh_info end |
Instance Attribute Details
#lifetime ⇒ Object
Returns the value of attribute lifetime.
27 28 29 |
# File 'lib/himari/decisions/claims.rb', line 27 def lifetime @lifetime end |
#refresh_info ⇒ Object
Returns the value of attribute refresh_info.
27 28 29 |
# File 'lib/himari/decisions/claims.rb', line 27 def refresh_info @refresh_info end |
Instance Method Details
#as_log ⇒ Object
38 39 40 |
# File 'lib/himari/decisions/claims.rb', line 38 def as_log to_h.merge(claims: @claims, refresh_info_set: !@refresh_info.nil?) end |
#claims ⇒ Object
55 56 57 58 59 |
# File 'lib/himari/decisions/claims.rb', line 55 def claims raise UninitializedError, "Claims uninitialized; use decision.initialize_claims! to declare claims first (or rule order might be unintentional)" unless @claims @claims end |
#initialize_claims!(claims = {}) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/himari/decisions/claims.rb', line 46 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
42 43 44 |
# File 'lib/himari/decisions/claims.rb', line 42 def output Himari::SessionData.make(claims: claims, user_data: user_data, lifetime: lifetime) end |
#to_evolve_args ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'lib/himari/decisions/claims.rb', line 29 def to_evolve_args { claims: @claims.dup, user_data: @user_data.dup, lifetime: @lifetime&.to_i, refresh_info: @refresh_info, } end |
#user_data ⇒ Object
61 62 63 64 |
# File 'lib/himari/decisions/claims.rb', line 61 def user_data claims # to raise UninitializedError @user_data end |