Class: YubiOATH::CalculateAll

Inherits:
Object
  • Object
show all
Defined in:
lib/yubioath/calculate_all.rb

Defined Under Namespace

Classes: Request, Response

Instance Method Summary collapse

Constructor Details

#initialize(card) ⇒ CalculateAll

Returns a new instance of CalculateAll.



5
6
7
# File 'lib/yubioath/calculate_all.rb', line 5

def initialize(card)
  @card = card
end

Instance Method Details

#call(timestamp:) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/yubioath/calculate_all.rb', line 9

def call(timestamp:)
  data = Request::Data.new(timestamp: timestamp.to_i / 30)
  request = Request.new(data: data.to_binary_s)
  bytes = @card.transmit(request.to_binary_s)
  response = Response.read(bytes)

  response[:codes].map do |code|
    [code.name, code.code.to_s]
  end.to_h
end