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.
32908 32909 32910 32911 32912 32913 32914 32915 32916 32917 32918 32919 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32908 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.
32906 32907 32908 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32906 def customs_description @customs_description end |
#event_id ⇒ Object (readonly)
Returns the value of attribute event_id.
32906 32907 32908 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32906 def event_id @event_id end |
#hs6_code ⇒ Object (readonly)
Returns the value of attribute hs6_code.
32906 32907 32908 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32906 def hs6_code @hs6_code end |
#item_number ⇒ Object (readonly)
Returns the value of attribute item_number.
32906 32907 32908 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32906 def item_number @item_number end |
#landed_costs ⇒ Object (readonly)
Returns the value of attribute landed_costs.
32906 32907 32908 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32906 def landed_costs @landed_costs end |
#organization ⇒ Object (readonly)
Returns the value of attribute organization.
32906 32907 32908 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32906 def organization @organization end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
32906 32907 32908 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32906 def @timestamp end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
32925 32926 32927 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32925 def copy(incoming={}) FullyHarmonizedItemUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
32929 32930 32931 32932 32933 32934 32935 32936 32937 32938 32939 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32929 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
32921 32922 32923 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 32921 def to_json JSON.dump(to_hash) end |