Class: EvoleapLicensing::ServerState
- Inherits:
-
Object
- Object
- EvoleapLicensing::ServerState
- Defined in:
- lib/evoleap_licensing/state/server_state.rb
Instance Attribute Summary collapse
-
#failed_registration_times ⇒ Object
readonly
Returns the value of attribute failed_registration_times.
-
#failed_validation_times ⇒ Object
readonly
Returns the value of attribute failed_validation_times.
-
#features ⇒ Object
Returns the value of attribute features.
-
#first_launch_time ⇒ Object
Returns the value of attribute first_launch_time.
-
#grace_period_for_validation_failures ⇒ Object
Returns the value of attribute grace_period_for_validation_failures.
-
#instance_guid ⇒ Object
Returns the value of attribute instance_guid.
-
#last_successful_validation_time ⇒ Object
Returns the value of attribute last_successful_validation_time.
-
#last_validation_status ⇒ Object
Returns the value of attribute last_validation_status.
-
#number_of_failed_validation_attempts ⇒ Object
Returns the value of attribute number_of_failed_validation_attempts.
-
#registered_at ⇒ Object
Returns the value of attribute registered_at.
Instance Method Summary collapse
- #add_registration_failure(time = Time.now.utc) ⇒ Object
- #add_validation_failure(time = Time.now.utc) ⇒ Object
-
#initialize(hash = nil) ⇒ ServerState
constructor
A new instance of ServerState.
- #registered? ⇒ Boolean
- #reset_registration_failures ⇒ Object
- #reset_validation_failures ⇒ Object
- #take_registration_params(response) ⇒ Object
- #to_h ⇒ Object
Constructor Details
#initialize(hash = nil) ⇒ ServerState
Returns a new instance of ServerState.
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 14 def initialize(hash = nil) hash = (hash || {}).transform_keys(&:to_s) @instance_guid = hash["instance_guid"] @first_launch_time = parse_time(hash["first_launch_time"]) @registered_at = parse_time(hash["registered_at"]) @grace_period_for_validation_failures = hash["grace_period_for_validation_failures"] @last_successful_validation_time = parse_time(hash["last_successful_validation_time"]) @last_validation_status = hash["last_validation_status"] @number_of_failed_validation_attempts = hash["number_of_failed_validation_attempts"] || 0 @features = hash["features"] || [] @failed_registration_times = (hash["failed_registration_times"] || []).map { |t| parse_time(t) }.compact @failed_validation_times = (hash["failed_validation_times"] || []).map { |t| parse_time(t) }.compact end |
Instance Attribute Details
#failed_registration_times ⇒ Object (readonly)
Returns the value of attribute failed_registration_times.
12 13 14 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 12 def failed_registration_times @failed_registration_times end |
#failed_validation_times ⇒ Object (readonly)
Returns the value of attribute failed_validation_times.
12 13 14 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 12 def failed_validation_times @failed_validation_times end |
#features ⇒ Object
Returns the value of attribute features.
7 8 9 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 7 def features @features end |
#first_launch_time ⇒ Object
Returns the value of attribute first_launch_time.
7 8 9 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 7 def first_launch_time @first_launch_time end |
#grace_period_for_validation_failures ⇒ Object
Returns the value of attribute grace_period_for_validation_failures.
7 8 9 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 7 def grace_period_for_validation_failures @grace_period_for_validation_failures end |
#instance_guid ⇒ Object
Returns the value of attribute instance_guid.
7 8 9 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 7 def instance_guid @instance_guid end |
#last_successful_validation_time ⇒ Object
Returns the value of attribute last_successful_validation_time.
7 8 9 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 7 def last_successful_validation_time @last_successful_validation_time end |
#last_validation_status ⇒ Object
Returns the value of attribute last_validation_status.
7 8 9 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 7 def last_validation_status @last_validation_status end |
#number_of_failed_validation_attempts ⇒ Object
Returns the value of attribute number_of_failed_validation_attempts.
7 8 9 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 7 def number_of_failed_validation_attempts @number_of_failed_validation_attempts end |
#registered_at ⇒ Object
Returns the value of attribute registered_at.
7 8 9 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 7 def registered_at @registered_at end |
Instance Method Details
#add_registration_failure(time = Time.now.utc) ⇒ Object
32 33 34 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 32 def add_registration_failure(time = Time.now.utc) @failed_registration_times.unshift(time) end |
#add_validation_failure(time = Time.now.utc) ⇒ Object
40 41 42 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 40 def add_validation_failure(time = Time.now.utc) @failed_validation_times.unshift(time) end |
#registered? ⇒ Boolean
28 29 30 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 28 def registered? !@registered_at.nil? end |
#reset_registration_failures ⇒ Object
36 37 38 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 36 def reset_registration_failures @failed_registration_times = [] end |
#reset_validation_failures ⇒ Object
44 45 46 47 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 44 def reset_validation_failures @failed_validation_times = [] @number_of_failed_validation_attempts = 0 end |
#take_registration_params(response) ⇒ Object
49 50 51 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 49 def take_registration_params(response) @instance_guid = response["instance_guid"] end |
#to_h ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/evoleap_licensing/state/server_state.rb', line 53 def to_h { "instance_guid" => @instance_guid, "first_launch_time" => @first_launch_time&.iso8601, "registered_at" => @registered_at&.iso8601, "grace_period_for_validation_failures" => @grace_period_for_validation_failures, "last_successful_validation_time" => @last_successful_validation_time&.iso8601, "last_validation_status" => @last_validation_status, "number_of_failed_validation_attempts" => @number_of_failed_validation_attempts, "features" => @features, "failed_registration_times" => @failed_registration_times.map(&:iso8601), "failed_validation_times" => @failed_validation_times.map(&:iso8601) } end |