Sha256: fb0278f363d550b41bf88d7d01bff38d88a719accc1af2f8006f06939c9761d4

Contents?: true

Size: 1.22 KB

Versions: 7

Compression:

Stored size: 1.22 KB

Contents

# frozen_string_literal: true

class EasyPost::Services::EndShipper < EasyPost::Services::Service
  MODEL_CLASS = EasyPost::Models::EndShipper

  # Create an EndShipper object.
  def create(params = {})
    wrapped_params = { address: params }
    response = @client.make_request(:post, 'end_shippers', wrapped_params)

    EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
  end

  # Retrieve an EndShipper object.
  def retrieve(id)
    response = @client.make_request(:get, "end_shippers/#{id}")

    EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
  end

  # Retrieve all EndShipper objects.
  def all(params = {})
    response = @client.make_request(:get, 'end_shippers', params)

    EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
  end

  # Updates an EndShipper object. This requires all parameters to be set.
  def update(id, params)
    wrapped_params = { address: params }
    response = @client.make_request(:put, "end_shippers/#{id}", wrapped_params)

    EasyPost::InternalUtilities::Json.convert_json_to_object(response, MODEL_CLASS)
  end

  # TODO: Add support for getting the next page of end shippers when the API supports it.
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
easypost-6.4.1 lib/easypost/services/end_shipper.rb
easypost-6.4.0 lib/easypost/services/end_shipper.rb
easypost-6.3.0 lib/easypost/services/end_shipper.rb
easypost-6.2.0 lib/easypost/services/end_shipper.rb
easypost-6.1.1 lib/easypost/services/end_shipper.rb
easypost-6.1.0 lib/easypost/services/end_shipper.rb
easypost-6.0.0 lib/easypost/services/end_shipper.rb