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.
19023 19024 19025 19026 19027 19028 19029 19030 19031 19032 19033 19034 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19023 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.
19021 19022 19023 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19021 def customs_description @customs_description end |
#event_id ⇒ Object (readonly)
Returns the value of attribute event_id.
19021 19022 19023 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19021 def event_id @event_id end |
#hs6_code ⇒ Object (readonly)
Returns the value of attribute hs6_code.
19021 19022 19023 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19021 def hs6_code @hs6_code end |
#item_number ⇒ Object (readonly)
Returns the value of attribute item_number.
19021 19022 19023 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19021 def item_number @item_number end |
#landed_costs ⇒ Object (readonly)
Returns the value of attribute landed_costs.
19021 19022 19023 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19021 def landed_costs @landed_costs end |
#organization ⇒ Object (readonly)
Returns the value of attribute organization.
19021 19022 19023 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19021 def organization @organization end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
19021 19022 19023 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19021 def @timestamp end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
19040 19041 19042 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19040 def copy(incoming={}) FullyHarmonizedItemUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
19044 19045 19046 19047 19048 19049 19050 19051 19052 19053 19054 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19044 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
19036 19037 19038 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 19036 def to_json JSON.dump(to_hash) end |