Sha256: 1f9198e3dbce25395cb940bd5c37a89040dfc829d5b5a708d5eead4d7852233b
Contents?: true
Size: 1.15 KB
Versions: 7
Compression:
Stored size: 1.15 KB
Contents
# frozen_string_literal: true class EasyPost::Services::Order < EasyPost::Services::Service MODEL_CLASS = EasyPost::Models::Order # Create an Order object def create(params = {}) wrapped_params = { order: params } response = @client.make_request(:post, 'orders', wrapped_params) EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS) end # Retrieve an Order object def retrieve(id) response = @client.make_request(:get, "orders/#{id}") EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS) end # Retrieve new rates for an Order object def get_rates(id, params = {}) response = @client.make_request(:get, "orders/#{id}/rates", params) EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS) end # Buy an Order object def buy(id, params = {}) if params.instance_of?(EasyPost::Models::Rate) params = { carrier: params[:carrier], service: params[:service] } end response = @client.make_request(:post, "orders/#{id}/buy", params) EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS) end end
Version data entries
7 entries across 7 versions & 1 rubygems