Sha256: 3281adf1e92207f24183b884da3d3f5f1520f97530a491856eefbc2a14973746

Contents?: true

Size: 1.32 KB

Versions: 4

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

# EndShipper objects are fully-qualified Address objects that require all parameters and get verified upon creation.
class EasyPost::Beta::EndShipper < EasyPost::Resource
  # Create an EndShipper object.
  def self.create(params = {}, api_key = nil)
    response = EasyPost.make_request(:post, '/beta/end_shippers', api_key, { address: params })
    EasyPost::Util.convert_to_easypost_object(response, api_key)
  end

  # Retrieves an EndShipper object.
  def self.retrieve(id, params = {}, api_key = nil)
    response = EasyPost.make_request(:get, "/beta/end_shippers/#{id}", api_key, params)
    EasyPost::Util.convert_to_easypost_object(response, api_key)
  end

  # Retrieves a list of EndShipper objects.
  def self.all(params = {}, api_key = nil)
    response = EasyPost.make_request(:get, '/beta/end_shippers', api_key, params)
    EasyPost::Util.convert_to_easypost_object(response, api_key)
  end

  # Updates (saves) an EndShipper object. This requires all parameters to be set.
  def save
    if @unsaved_values.length.positive?
      values = {}
      @unsaved_values.each { |k| values[k] = @values[k] }

      wrapped_params = { address: values }

      response = EasyPost.make_request(:put, "/beta/end_shippers/#{id}", @api_key, wrapped_params)
      refresh_from(response, api_key)
    end
    self
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
easypost-4.6.0 lib/easypost/beta/end_shipper.rb
easypost-4.5.0 lib/easypost/beta/end_shipper.rb
easypost-4.4.0 lib/easypost/beta/end_shipper.rb
easypost-4.3.0 lib/easypost/beta/end_shipper.rb