Module: R2D2

Defined in:
lib/r2d2/util.rb,
lib/r2d2/version.rb,
lib/r2d2/google_pay_token.rb,
lib/r2d2/android_pay_token.rb

Defined Under Namespace

Modules: Util Classes: AndroidPayToken, GooglePayToken

Constant Summary collapse

Error =
Class.new(StandardError)
TagVerificationError =
Class.new(R2D2::Error)
SignatureInvalidError =
Class.new(R2D2::Error)
MessageExpiredError =
Class.new(R2D2::Error)
VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.build_token(token_attrs, recipient_id: nil, verification_keys: nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/r2d2/util.rb', line 7

def build_token(token_attrs, recipient_id: nil, verification_keys: nil)
  protocol_version = token_attrs.fetch('protocolVersion', 'ECv0')

  case protocol_version
  when 'ECv0'
    AndroidPayToken.new(token_attrs)
  when 'ECv1'
    raise ArgumentError, "missing keyword: recipient_id" if recipient_id.nil?
    raise ArgumentError, "missing keyword: verification_keys" if verification_keys.nil?

    GooglePayToken.new(token_attrs, recipient_id: recipient_id, verification_keys: verification_keys)
  else
    raise ArgumentError, "unknown protocolVersion #{protocol_version}"
  end
end