Class: Io::Flow::V0::Models::LabelUpserted

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

Instance Attribute Summary collapse

Attributes inherited from Event

#discriminator

Instance Method Summary collapse

Methods inherited from Event

from_json, #to_hash

Constructor Details

#initialize(incoming = {}) ⇒ LabelUpserted

Returns a new instance of LabelUpserted.



23037
23038
23039
23040
23041
23042
23043
23044
23045
23046
23047
23048
23049
23050
23051
23052
23053
23054
23055
23056
23057
23058
23059
23060
23061
23062
23063
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23037

def initialize(incoming={})
  super(:discriminator => Event::Types::LABEL_UPSERTED)
  opts = HttpClient::Helper.symbolize_keys(incoming)
  HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :label_id, :carrier_tracking_number, :commercial_invoice, :flow_tracking_number, :destination, :origin, :carrier, :service], 'LabelUpserted')
  @event_id = HttpClient::Preconditions.assert_class('event_id', opts.delete(:event_id), String)
  @timestamp = HttpClient::Preconditions.assert_class('timestamp', HttpClient::Helper.to_date_time_iso8601(opts.delete(:timestamp)), DateTime)
  @organization = HttpClient::Preconditions.assert_class('organization', opts.delete(:organization), String)
  @label_id = HttpClient::Preconditions.assert_class('label_id', opts.delete(:label_id), String)
  @carrier_tracking_number = HttpClient::Preconditions.assert_class('carrier_tracking_number', opts.delete(:carrier_tracking_number), String)
  @commercial_invoice = HttpClient::Preconditions.assert_class('commercial_invoice', opts.delete(:commercial_invoice), String)
  @flow_tracking_number = HttpClient::Preconditions.assert_class('flow_tracking_number', opts.delete(:flow_tracking_number), String)
  @destination = (x = opts.delete(:destination); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
  @origin = (x = opts.delete(:origin); x.is_a?(::Io::Flow::V0::Models::ShippingAddress) ? x : ::Io::Flow::V0::Models::ShippingAddress.new(x))
  @carrier = HttpClient::Preconditions.assert_class('carrier', opts.delete(:carrier), String)
  @service = HttpClient::Preconditions.assert_class('service', opts.delete(:service), String)
  @zpl = (x = opts.delete(:zpl); x.nil? ? nil : HttpClient::Preconditions.assert_class('zpl', x, String))
  @pdf = (x = opts.delete(:pdf); x.nil? ? nil : HttpClient::Preconditions.assert_class('pdf', x, String))
  @png = (x = opts.delete(:png); x.nil? ? nil : HttpClient::Preconditions.assert_class('png', x, String))
  @order = (x = opts.delete(:order); x.nil? ? nil : HttpClient::Preconditions.assert_class('order', x, String))
  @carrier_tracking_number_url = (x = opts.delete(:carrier_tracking_number_url); x.nil? ? nil : HttpClient::Preconditions.assert_class('carrier_tracking_number_url', x, String))
  @flow_tracking_number_url = (x = opts.delete(:flow_tracking_number_url); x.nil? ? nil : HttpClient::Preconditions.assert_class('flow_tracking_number_url', x, String))
  @center_key = (x = opts.delete(:center_key); x.nil? ? nil : HttpClient::Preconditions.assert_class('center_key', x, String))
  @recipient = (x = opts.delete(:recipient); x.nil? ? nil : (x = x; x.is_a?(::Io::Flow::V0::Models::ShipmentRecipient) ? x : ::Io::Flow::V0::Models::ShipmentRecipient.apply(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))
end

Instance Attribute Details

#carrierObject (readonly)

Returns the value of attribute carrier.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def carrier
  @carrier
end

#carrier_tracking_numberObject (readonly)

Returns the value of attribute carrier_tracking_number.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def carrier_tracking_number
  @carrier_tracking_number
end

#carrier_tracking_number_urlObject (readonly)

Returns the value of attribute carrier_tracking_number_url.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def carrier_tracking_number_url
  @carrier_tracking_number_url
end

#center_keyObject (readonly)

Returns the value of attribute center_key.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def center_key
  @center_key
end

#commercial_invoiceObject (readonly)

Returns the value of attribute commercial_invoice.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def commercial_invoice
  @commercial_invoice
end

#destinationObject (readonly)

Returns the value of attribute destination.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def destination
  @destination
end

#event_idObject (readonly)

Returns the value of attribute event_id.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def event_id
  @event_id
end

#flow_tracking_numberObject (readonly)

Returns the value of attribute flow_tracking_number.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def flow_tracking_number
  @flow_tracking_number
end

#flow_tracking_number_urlObject (readonly)

Returns the value of attribute flow_tracking_number_url.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def flow_tracking_number_url
  @flow_tracking_number_url
end

#fulfillment_keyObject (readonly)

Returns the value of attribute fulfillment_key.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def fulfillment_key
  @fulfillment_key
end

#label_idObject (readonly)

Returns the value of attribute label_id.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def label_id
  @label_id
end

#orderObject (readonly)

Returns the value of attribute order.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def order
  @order
end

#order_identifierObject (readonly)

Returns the value of attribute order_identifier.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def order_identifier
  @order_identifier
end

#organizationObject (readonly)

Returns the value of attribute organization.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def organization
  @organization
end

#originObject (readonly)

Returns the value of attribute origin.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def origin
  @origin
end

#packageObject (readonly)

Returns the value of attribute package.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def package
  @package
end

#pdfObject (readonly)

Returns the value of attribute pdf.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def pdf
  @pdf
end

#pngObject (readonly)

Returns the value of attribute png.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def png
  @png
end

#recipientObject (readonly)

Returns the value of attribute recipient.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def recipient
  @recipient
end

#serviceObject (readonly)

Returns the value of attribute service.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def service
  @service
end

#timestampObject (readonly)

Returns the value of attribute timestamp.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def timestamp
  @timestamp
end

#zplObject (readonly)

Returns the value of attribute zpl.



23035
23036
23037
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23035

def zpl
  @zpl
end

Instance Method Details

#copy(incoming = {}) ⇒ Object



23069
23070
23071
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23069

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

#subtype_to_hashObject



23073
23074
23075
23076
23077
23078
23079
23080
23081
23082
23083
23084
23085
23086
23087
23088
23089
23090
23091
23092
23093
23094
23095
23096
23097
23098
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23073

def subtype_to_hash
  {
    :event_id => event_id,
    :timestamp => timestamp,
    :organization => organization,
    :label_id => label_id,
    :carrier_tracking_number => carrier_tracking_number,
    :commercial_invoice => commercial_invoice,
    :flow_tracking_number => flow_tracking_number,
    :destination => destination.to_hash,
    :origin => origin.to_hash,
    :carrier => carrier,
    :service => service,
    :zpl => zpl,
    :pdf => pdf,
    :png => png,
    :order => order,
    :carrier_tracking_number_url => carrier_tracking_number_url,
    :flow_tracking_number_url => flow_tracking_number_url,
    :center_key => center_key,
    :recipient => recipient.nil? ? nil : recipient.value,
    :package => package.nil? ? nil : package.to_hash,
    :order_identifier => order_identifier,
    :fulfillment_key => fulfillment_key
  }
end

#to_jsonObject



23065
23066
23067
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 23065

def to_json
  JSON.dump(to_hash)
end