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