Class: Braintree::ExchangeRateQuoteGateway

Inherits:
Object
  • Object
show all
Defined in:
lib/braintree/exchange_rate_quote_gateway.rb

Constant Summary collapse

DEFINITION =
"  mutation GenerateExchangeRateQuoteInput($input: GenerateExchangeRateQuoteInput!) {\n    generateExchangeRateQuote(input: $input) {\n      quotes {\n        id\n        baseAmount {value, currencyCode}\n        quoteAmount {value, currencyCode}\n        exchangeRate\n        tradeRate\n        expiresAt\n        refreshesAt\n      }\n    }\n  }\n"

Instance Method Summary collapse

Constructor Details

#initialize(gateway) ⇒ ExchangeRateQuoteGateway

Returns a new instance of ExchangeRateQuoteGateway.



3
4
5
# File 'lib/braintree/exchange_rate_quote_gateway.rb', line 3

def initialize(gateway)
  @gateway = gateway
end

Instance Method Details

#generate(params) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/braintree/exchange_rate_quote_gateway.rb', line 23

def generate(params)
  response = @gateway.config.graphql_client.query(DEFINITION, {input: params})

  if response.has_key?(:data) && response[:data][:generateExchangeRateQuote]
    response[:data][:generateExchangeRateQuote]
  elsif response[:errors]
    ErrorResult.new(@gateway, response[:errors])
  else
    raise UnexpectedError, "expected :generateExchangeRateQuote or :api_error_response in GraphQL response"
  end
end