Class: Io::Flow::V0::Models::ShippingLabel

Inherits:
Object
  • Object
show all
Defined in:
lib/flow_commerce/flow_api_v0_client.rb

Overview

Represents information about a carrier-generated shipping label used by a shipper to transport a package from a given origin to destination

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(incoming = {}) ⇒ ShippingLabel

Returns a new instance of ShippingLabel.



66414
66415
66416
66417
66418
66419
66420
66421
66422
66423
66424
66425
66426
66427
66428
66429
66430
66431
66432
66433
66434
66435
66436
66437
66438
66439
66440
66441
66442
66443
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66414

def initialize(incoming={})
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:id, :carrier_tracking_number, :carrier_tracking_number_url, :destination, :flow_tracking_number, :flow_tracking_number_url, :origin, :service, :window, :shipment_recipient], 'ShippingLabel')
  @id = HttpClient::Preconditions.assert_class('id', opts.delete(:id), String)
  @hop = (x = opts.delete(:hop); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShippingLabelHopSummary) ? x : ::Io::Flow::V0::Models::ShippingLabelHopSummary.new(x)))
  @reference_id = (x = opts.delete(:reference_id); x.nil? ? nil : HttpClient::Preconditions.assert_class('reference_id', x, String))
  @attributes = HttpClient::Preconditions.assert_class('attributes', (x = opts.delete(:attributes); x.nil? ? {} : x), Hash).inject({}) { |h, d| h[d[0]] = HttpClient::Preconditions.assert_class('attributes', d[1], String); h }
  @carrier_tracking_number = HttpClient::Preconditions.assert_class('carrier_tracking_number', opts.delete(:carrier_tracking_number), String)
  @carrier_tracking_number_url = HttpClient::Preconditions.assert_class('carrier_tracking_number_url', opts.delete(:carrier_tracking_number_url), String)
  @cost_estimate_source = (x = opts.delete(:cost_estimate_source); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::CostEstimateSource) ? x : ::Io::Flow::V0::Models::CostEstimateSource.apply(x)))
  @cost = (x = opts.delete(:cost); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::Price) ? x : ::Io::Flow::V0::Models::Price.new(x)))
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
  @flow_tracking_number = HttpClient::Preconditions.assert_class('flow_tracking_number', opts.delete(:flow_tracking_number), String)
  @flow_tracking_number_url = HttpClient::Preconditions.assert_class('flow_tracking_number_url', opts.delete(:flow_tracking_number_url), String)
  @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
  @service = (x = opts.delete(:service); x.is_a?(::Io::Flow::V0::Models::ServiceSummary) ? x : ::Io::Flow::V0::Models::ServiceSummary.new(x))
  @window = (x = opts.delete(:window); x.is_a?(::Io::Flow::V0::Models::DatetimeRange) ? x : ::Io::Flow::V0::Models::DatetimeRange.new(x))
  @label = (x = opts.delete(:label); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShippingLabelDocument) ? x : ::Io::Flow::V0::Models::ShippingLabelDocument.new(x)))
  @invoice = (x = opts.delete(:invoice); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShippingLabelDocument) ? x : ::Io::Flow::V0::Models::ShippingLabelDocument.new(x)))
  @return_ = (x = opts.delete(:return); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShippingLabelDocument) ? x : ::Io::Flow::V0::Models::ShippingLabelDocument.new(x)))
  @order = (x = opts.delete(:order); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LabelOrderSummary) ? x : ::Io::Flow::V0::Models::LabelOrderSummary.new(x)))
  @package = (x = opts.delete(:package); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShippingLabelPackage) ? x : ::Io::Flow::V0::Models::ShippingLabelPackage.new(x)))
  @order_identifier = (x = opts.delete(:order_identifier); x.nil? ? nil : HttpClient::Preconditions.assert_class('order_identifier', x, String))
  @fulfillment_key = (x = opts.delete(:fulfillment_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('fulfillment_key', x, String))
  @shipment_recipient = (x = opts.delete(:shipment_recipient); x.is_a?(::Io::Flow::V0::Models::ShipmentRecipient) ? x : ::Io::Flow::V0::Models::ShipmentRecipient.apply(x))
  @label_request_method = (x = opts.delete(:label_request_method); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LabelRequestMethod) ? x : ::Io::Flow::V0::Models::LabelRequestMethod.apply(x)))
  @label_trigger_method = (x = opts.delete(:label_trigger_method); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::LabelTriggerMethod) ? x : ::Io::Flow::V0::Models::LabelTriggerMethod.apply(x)))
  @created_at = (x = opts.delete(:created_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('created_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
  @updated_at = (x = opts.delete(:updated_at); x.nil? ? nil : HttpClient::Preconditions.assert_class('updated_at', HttpClient::Helper.to_date_time_iso8601(x), DateTime))
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def attributes
  @attributes
end

#carrier_tracking_numberObject (readonly)

Returns the value of attribute carrier_tracking_number.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def carrier_tracking_number
  @carrier_tracking_number
end

#carrier_tracking_number_urlObject (readonly)

Returns the value of attribute carrier_tracking_number_url.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def carrier_tracking_number_url
  @carrier_tracking_number_url
end

#costObject (readonly)

Returns the value of attribute cost.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def cost
  @cost
end

#cost_estimate_sourceObject (readonly)

Returns the value of attribute cost_estimate_source.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def cost_estimate_source
  @cost_estimate_source
end

#created_atObject (readonly)

Returns the value of attribute created_at.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def created_at
  @created_at
end

#destinationObject (readonly)

Returns the value of attribute destination.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def destination
  @destination
end

#flow_tracking_numberObject (readonly)

Returns the value of attribute flow_tracking_number.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def flow_tracking_number
  @flow_tracking_number
end

#flow_tracking_number_urlObject (readonly)

Returns the value of attribute flow_tracking_number_url.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def flow_tracking_number_url
  @flow_tracking_number_url
end

#fulfillment_keyObject (readonly)

Returns the value of attribute fulfillment_key.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def fulfillment_key
  @fulfillment_key
end

#hopObject (readonly)

Returns the value of attribute hop.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def hop
  @hop
end

#idObject (readonly)

Returns the value of attribute id.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def id
  @id
end

#invoiceObject (readonly)

Returns the value of attribute invoice.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def invoice
  @invoice
end

#labelObject (readonly)

Returns the value of attribute label.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def label
  @label
end

#label_request_methodObject (readonly)

Returns the value of attribute label_request_method.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def label_request_method
  @label_request_method
end

#label_trigger_methodObject (readonly)

Returns the value of attribute label_trigger_method.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def label_trigger_method
  @label_trigger_method
end

#orderObject (readonly)

Returns the value of attribute order.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def order
  @order
end

#order_identifierObject (readonly)

Returns the value of attribute order_identifier.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def order_identifier
  @order_identifier
end

#originObject (readonly)

Returns the value of attribute origin.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def origin
  @origin
end

#packageObject (readonly)

Returns the value of attribute package.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def package
  @package
end

#reference_idObject (readonly)

Returns the value of attribute reference_id.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def reference_id
  @reference_id
end

#return_Object (readonly)

Returns the value of attribute return_.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def return_
  @return_
end

#serviceObject (readonly)

Returns the value of attribute service.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def service
  @service
end

#shipment_recipientObject (readonly)

Returns the value of attribute shipment_recipient.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def shipment_recipient
  @shipment_recipient
end

#updated_atObject (readonly)

Returns the value of attribute updated_at.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def updated_at
  @updated_at
end

#windowObject (readonly)

Returns the value of attribute window.



66412
66413
66414
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66412

def window
  @window
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



66449
66450
66451
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66449

def copy(incoming={})
  ShippingLabel.new(to_hash.merge(HttpClient::Helper.symbolize_keys(incoming)))
end

#to_hashObject



66453
66454
66455
66456
66457
66458
66459
66460
66461
66462
66463
66464
66465
66466
66467
66468
66469
66470
66471
66472
66473
66474
66475
66476
66477
66478
66479
66480
66481
66482
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66453

def to_hash
  {
    :id => id,
    :hop => hop.nil? ? nil : hop.to_hash,
    :reference_id => reference_id,
    :attributes => attributes,
    :carrier_tracking_number => carrier_tracking_number,
    :carrier_tracking_number_url => carrier_tracking_number_url,
    :cost_estimate_source => cost_estimate_source.nil? ? nil : cost_estimate_source.value,
    :cost => cost.nil? ? nil : cost.to_hash,
    :destination => destination.to_hash,
    :flow_tracking_number => flow_tracking_number,
    :flow_tracking_number_url => flow_tracking_number_url,
    :origin => origin.to_hash,
    :service => service.to_hash,
    :window => window.to_hash,
    :label => label.nil? ? nil : label.to_hash,
    :invoice => invoice.nil? ? nil : invoice.to_hash,
    :return => return_.nil? ? nil : return_.to_hash,
    :order => order.nil? ? nil : order.to_hash,
    :package => package.nil? ? nil : package.to_hash,
    :order_identifier => order_identifier,
    :fulfillment_key => fulfillment_key,
    :shipment_recipient => shipment_recipient.value,
    :label_request_method => label_request_method.nil? ? nil : label_request_method.value,
    :label_trigger_method => label_trigger_method.nil? ? nil : label_trigger_method.value,
    :created_at => created_at,
    :updated_at => updated_at
  }
end

#to_jsonObject



66445
66446
66447
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 66445

def to_json
  JSON.dump(to_hash)
end