class GoCardlessPro::Services::CurrencyExchangeRatesService
Service for making requests to the CurrencyExchangeRate endpoints
Public Instance Methods
all(options = {})
click to toggle source
Get a lazily enumerated list of all the items returned. This is simmilar to the `list` method but will paginate for you automatically.
@param options [Hash] parameters as a hash. If the request is a GET, these will be converted to query parameters. Otherwise they will be the body of the request.
# File lib/gocardless_pro/services/currency_exchange_rates_service.rb, line 35 def all(options = {}) Paginator.new( service: self, options: options ).enumerator end
list(options = {})
click to toggle source
Returns a [cursor-paginated](api-usage-cursor-pagination) list of all exchange rates. Example URL: /currency_exchange_rates @param options [Hash] parameters as a hash, under a params key.
# File lib/gocardless_pro/services/currency_exchange_rates_service.rb, line 17 def list(options = {}) path = '/currency_exchange_rates' options[:retry_failures] = true response = make_request(:get, path, options) ListResponse.new( response: response, unenveloped_body: unenvelope_body(response.body), resource_class: Resources::CurrencyExchangeRate ) end
Private Instance Methods
envelope_key()
click to toggle source
return the key which API responses will envelope data under
# File lib/gocardless_pro/services/currency_exchange_rates_service.rb, line 52 def envelope_key 'currency_exchange_rates' end
unenvelope_body(body)
click to toggle source
Unenvelope the response of the body using the service's `envelope_key`
@param body [Hash]
# File lib/gocardless_pro/services/currency_exchange_rates_service.rb, line 47 def unenvelope_body(body) body[envelope_key] || body['data'] end