class DuffelAPI::Client

A client for accessing the Duffel API, configured with a provided access token and base URL, which provides access to API services

Constants

API_VERSION

Public Class Methods

new(access_token:, base_url: "https://api.duffel.com") click to toggle source

Sets up the client with your access token

@param access_token [String] A test or live mode access token @param base_url [String] The URL of the Duffel API @return [Client]

# File lib/duffel_api/client.rb, line 14
def initialize(access_token:, base_url: "https://api.duffel.com")
  @api_service = APIService.new(base_url, access_token, **default_options)
end

Public Instance Methods

aircraft() click to toggle source

@return [Services::AircraftService]

# File lib/duffel_api/client.rb, line 19
def aircraft
  @aircraft ||= Services::AircraftService.new(@api_service)
end
airlines() click to toggle source

@return [Services::AirlinesService]

# File lib/duffel_api/client.rb, line 24
def airlines
  @airlines ||= Services::AirlinesService.new(@api_service)
end
airports() click to toggle source

@return [Services::AirportsService]

# File lib/duffel_api/client.rb, line 29
def airports
  @airports ||= Services::AirportsService.new(@api_service)
end
offer_passengers() click to toggle source

@return [Services::OfferPassengersService]

# File lib/duffel_api/client.rb, line 34
def offer_passengers
  @offer_passengers ||= Services::OfferPassengersService.new(@api_service)
end
offer_requests() click to toggle source

@return [Services::OfferRequestsService]

# File lib/duffel_api/client.rb, line 39
def offer_requests
  @offer_requests ||= Services::OfferRequestsService.new(@api_service)
end
offers() click to toggle source

@return [Services::OffersService]

# File lib/duffel_api/client.rb, line 44
def offers
  @offers ||= Services::OffersService.new(@api_service)
end
order_cancellations() click to toggle source

@return [Services::OrderCancellationsService]

# File lib/duffel_api/client.rb, line 49
def order_cancellations
  @order_cancellations ||= Services::OrderCancellationsService.new(@api_service)
end
order_change_offers() click to toggle source

@return [Services::OrderChangeOffersService]

# File lib/duffel_api/client.rb, line 54
def order_change_offers
  @order_change_offers ||= Services::OrderChangeOffersService.new(@api_service)
end
order_change_requests() click to toggle source

@return [Services::OrderChangeRequestsService]

# File lib/duffel_api/client.rb, line 59
def order_change_requests
  @order_change_requests ||= Services::OrderChangeRequestsService.new(@api_service)
end
order_changes() click to toggle source

@return [Services::OrderChangesService]

# File lib/duffel_api/client.rb, line 64
def order_changes
  @order_changes ||= Services::OrderChangesService.new(@api_service)
end
orders() click to toggle source

@return [Services::OrdersService]

# File lib/duffel_api/client.rb, line 69
def orders
  @orders ||= Services::OrdersService.new(@api_service)
end
payment_intents() click to toggle source

@return [Services::PaymentIntentsService]

# File lib/duffel_api/client.rb, line 74
def payment_intents
  @payment_intents ||= Services::PaymentIntentsService.new(@api_service)
end
payments() click to toggle source

@return [Services::PaymentsService]

# File lib/duffel_api/client.rb, line 79
def payments
  @payments ||= Services::PaymentsService.new(@api_service)
end
refunds() click to toggle source

@return [Services::RefundsService]

# File lib/duffel_api/client.rb, line 84
def refunds
  @refunds ||= Services::RefundsService.new(@api_service)
end
seat_maps() click to toggle source

@return [Services::SeatMapsService]

# File lib/duffel_api/client.rb, line 89
def seat_maps
  @seat_maps ||= Services::SeatMapsService.new(@api_service)
end
webhooks() click to toggle source

@return [Services::WebhooksService]

# File lib/duffel_api/client.rb, line 94
def webhooks
  @webhooks ||= Services::WebhooksService.new(@api_service)
end

Private Instance Methods

default_options() click to toggle source
# File lib/duffel_api/client.rb, line 100
def default_options
  {
    default_headers: {
      "Duffel-Version" => API_VERSION,
      "User-Agent" => "Duffel/#{API_VERSION} duffel_api_ruby/#{DuffelAPI::VERSION}",
      "Content-Type" => "application/json",
    },
  }
end