Class: LibertyReserveLink::Token

Inherits:
Object
  • Object
show all
Defined in:
lib/liberty_reserve_link/token.rb

Instance Method Summary collapse

Constructor Details

#initialize(credential) ⇒ Token

Returns a new instance of Token.



4
5
6
# File 'lib/liberty_reserve_link/token.rb', line 4

def initialize(credential)
  @credential = credential
end

Instance Method Details

#balance(id) ⇒ Object



16
17
18
19
# File 'lib/liberty_reserve_link/token.rb', line 16

def balance(id)
  token = "#{secret}:#{id}:#{timestamp}"
  hash token
end

#confirm_transfer(id, transfer_id, confirmation_code) ⇒ Object



44
45
46
47
# File 'lib/liberty_reserve_link/token.rb', line 44

def confirm_transfer(id, transfer_id, confirmation_code)
  token = "#{secret}:#{id}:#{transfer_id}:#{confirmation_code}:#{timestamp}"
  hash token
end

#convert_date(date) ⇒ Object



30
31
32
# File 'lib/liberty_reserve_link/token.rb', line 30

def convert_date(date)
  Time.utc(date.year, date.month, date.day, 0, 0, 0).strftime("%Y-%m-%d %H:%M:%S")
end

#find_transaction(id, transaction_id) ⇒ Object



39
40
41
42
# File 'lib/liberty_reserve_link/token.rb', line 39

def find_transaction(id, transaction_id)
  token = "#{secret}:#{id}:#{transaction_id}:#{timestamp}"
  hash token
end

#hash(token) ⇒ Object



21
22
23
# File 'lib/liberty_reserve_link/token.rb', line 21

def hash(token)
  Digest::SHA2.hexdigest(token).upcase
end

#history(id, from, till) ⇒ Object



34
35
36
37
# File 'lib/liberty_reserve_link/token.rb', line 34

def history(id, from, till)
  token = "#{secret}:#{convert_date(from)}:#{convert_date(till)}:#{timestamp}"
  hash token
end

#secretObject



12
13
14
# File 'lib/liberty_reserve_link/token.rb', line 12

def secret
  @credential.secret
end

#timestampObject



8
9
10
# File 'lib/liberty_reserve_link/token.rb', line 8

def timestamp
  Time.now.utc.strftime("%Y%m%d:%H")
end

#transfer(id, receiver, currency, amount) ⇒ Object



25
26
27
28
# File 'lib/liberty_reserve_link/token.rb', line 25

def transfer(id, receiver, currency, amount)
  token = "#{secret}:#{id}:Reference:#{receiver}:#{currency.downcase}:#{amount.is_a?(String) ? amount.to_f.round(2) : amount}:#{timestamp}"
  hash token
end