Class: Io::Flow::V0::Models::FullyHarmonizedItemUpserted
- Defined in:
- lib/flow_commerce/flow_api_v0_client.rb
Overview
Event indicating insertion or changes to the details of a fully harmonized item. Will be triggered upon any change to the item being harmonized, its duties or taxes. If two changes occur within minutes of each other, it is possible only one upserted event will be produced, aggregating both changes.
Instance Attribute Summary collapse
-
#customs_description ⇒ Object
readonly
Returns the value of attribute customs_description.
-
#event_id ⇒ Object
readonly
Returns the value of attribute event_id.
-
#hs6_code ⇒ Object
readonly
Returns the value of attribute hs6_code.
-
#item_number ⇒ Object
readonly
Returns the value of attribute item_number.
-
#landed_costs ⇒ Object
readonly
Returns the value of attribute landed_costs.
-
#organization ⇒ Object
readonly
Returns the value of attribute organization.
-
#timestamp ⇒ Object
readonly
Returns the value of attribute timestamp.
Attributes inherited from Event
Instance Method Summary collapse
- #copy(incoming = {}) ⇒ Object
-
#initialize(incoming = {}) ⇒ FullyHarmonizedItemUpserted
constructor
A new instance of FullyHarmonizedItemUpserted.
- #subtype_to_hash ⇒ Object
- #to_json ⇒ Object
Methods inherited from Event
Constructor Details
#initialize(incoming = {}) ⇒ FullyHarmonizedItemUpserted
Returns a new instance of FullyHarmonizedItemUpserted.
25605 25606 25607 25608 25609 25610 25611 25612 25613 25614 25615 25616 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25605 def initialize(incoming={}) super(:discriminator => Event::Types::FULLY_HARMONIZED_ITEM_UPSERTED) opts = HttpClient::Helper.symbolize_keys(incoming) HttpClient::Preconditions.require_keys(opts, [:event_id, :timestamp, :organization, :item_number, :customs_description, :hs6_code, :landed_costs], 'FullyHarmonizedItemUpserted') @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) @item_number = HttpClient::Preconditions.assert_class('item_number', opts.delete(:item_number), String) @customs_description = HttpClient::Preconditions.assert_class('customs_description', opts.delete(:customs_description), String) @hs6_code = HttpClient::Preconditions.assert_class('hs6_code', opts.delete(:hs6_code), String) @landed_costs = HttpClient::Preconditions.assert_class('landed_costs', opts.delete(:landed_costs), Array).map { |v| (x = v; x.is_a?(::Io::Flow::V0::Models::LaneLandedCost) ? x : ::Io::Flow::V0::Models::LaneLandedCost.new(x)) } end |
Instance Attribute Details
#customs_description ⇒ Object (readonly)
Returns the value of attribute customs_description.
25603 25604 25605 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25603 def customs_description @customs_description end |
#event_id ⇒ Object (readonly)
Returns the value of attribute event_id.
25603 25604 25605 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25603 def event_id @event_id end |
#hs6_code ⇒ Object (readonly)
Returns the value of attribute hs6_code.
25603 25604 25605 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25603 def hs6_code @hs6_code end |
#item_number ⇒ Object (readonly)
Returns the value of attribute item_number.
25603 25604 25605 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25603 def item_number @item_number end |
#landed_costs ⇒ Object (readonly)
Returns the value of attribute landed_costs.
25603 25604 25605 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25603 def landed_costs @landed_costs end |
#organization ⇒ Object (readonly)
Returns the value of attribute organization.
25603 25604 25605 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25603 def organization @organization end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
25603 25604 25605 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25603 def @timestamp end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
25622 25623 25624 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25622 def copy(incoming={}) FullyHarmonizedItemUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
25626 25627 25628 25629 25630 25631 25632 25633 25634 25635 25636 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25626 def subtype_to_hash { :event_id => event_id, :timestamp => , :organization => organization, :item_number => item_number, :customs_description => customs_description, :hs6_code => hs6_code, :landed_costs => landed_costs.map { |o| o.to_hash } } end |
#to_json ⇒ Object
25618 25619 25620 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 25618 def to_json JSON.dump(to_hash) end |