Class: SessionInfo

Inherits:
Object
  • Object
show all
Includes:
JSONHelper
Defined in:
lib/passbyme2fa-client/session_info.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from JSONHelper

#get_json_field

Constructor Details

#initialize(json, pbm_client) ⇒ SessionInfo

Returns a new instance of SessionInfo.



10
11
12
13
14
15
16
# File 'lib/passbyme2fa-client/session_info.rb', line 10

def initialize(json, pbm_client)
  re_initialize(json)
  @pbm_client = pbm_client
  if !@pbm_client
    raise ArgumentError.new("PassBy[ME] client is missing.")
  end
end

Instance Attribute Details

#expiration_dateObject (readonly)

Returns the value of attribute expiration_date.



8
9
10
# File 'lib/passbyme2fa-client/session_info.rb', line 8

def expiration_date
  @expiration_date
end

#message_idObject (readonly)

Returns the value of attribute message_id.



8
9
10
# File 'lib/passbyme2fa-client/session_info.rb', line 8

def message_id
  @message_id
end

#recipient_statusesObject (readonly)

Returns the value of attribute recipient_statuses.



8
9
10
# File 'lib/passbyme2fa-client/session_info.rb', line 8

def recipient_statuses
  @recipient_statuses
end

Instance Method Details

#cancelObject



30
31
32
# File 'lib/passbyme2fa-client/session_info.rb', line 30

def cancel
  @pbm_client.cancel_message(self)
end

#re_initialize(json) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/passbyme2fa-client/session_info.rb', line 18

def re_initialize(json)
  @message_id = get_json_field(json, "messageId")
  @expiration_date = Time.parse(get_json_field(json, "expirationDate"))
  @recipient_statuses = get_json_field(json, "recipients").collect { |recipient|
    RecipientStatus.new(recipient)
  }
end

#refreshObject



26
27
28
# File 'lib/passbyme2fa-client/session_info.rb', line 26

def refresh
  @pbm_client.track_message(self)
end