class DuffelAPI::Services::BaseService

Constants

DEFAULT_ALL_PARAMS

Default params to use with the auto-paginating ‘#all` method

Public Class Methods

new(api_service) click to toggle source

Sets up a resource-specific service based on an API service

@param api_service [APIService] @return [BaseService]

# File lib/duffel_api/services/base_service.rb, line 17
def initialize(api_service)
  @api_service = api_service
end

Private Instance Methods

substitute_url_pattern(url, param_map) click to toggle source

Fills in variables in a patterned URL (e.g. ‘/widgets/:id`)

@param url [String] @param param_map [Hash] @return [String]

# File lib/duffel_api/services/base_service.rb, line 30
def substitute_url_pattern(url, param_map)
  param_map.reduce(url) do |new_url, (param, value)|
    new_url.gsub(":#{param}", CGI.escape(value))
  end
end
unenvelope_body(parsed_body) click to toggle source

Extracts the data inside the ‘data` envelope from an API response

@param parsed_body [Hash] @return [Hash]

# File lib/duffel_api/services/base_service.rb, line 40
def unenvelope_body(parsed_body)
  parsed_body["data"]
end