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.
22429 22430 22431 22432 22433 22434 22435 22436 22437 22438 22439 22440 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22429 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.
22427 22428 22429 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22427 def customs_description @customs_description end |
#event_id ⇒ Object (readonly)
Returns the value of attribute event_id.
22427 22428 22429 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22427 def event_id @event_id end |
#hs6_code ⇒ Object (readonly)
Returns the value of attribute hs6_code.
22427 22428 22429 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22427 def hs6_code @hs6_code end |
#item_number ⇒ Object (readonly)
Returns the value of attribute item_number.
22427 22428 22429 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22427 def item_number @item_number end |
#landed_costs ⇒ Object (readonly)
Returns the value of attribute landed_costs.
22427 22428 22429 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22427 def landed_costs @landed_costs end |
#organization ⇒ Object (readonly)
Returns the value of attribute organization.
22427 22428 22429 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22427 def organization @organization end |
#timestamp ⇒ Object (readonly)
Returns the value of attribute timestamp.
22427 22428 22429 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22427 def @timestamp end |
Instance Method Details
#copy(incoming = {}) ⇒ Object
22446 22447 22448 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22446 def copy(incoming={}) FullyHarmonizedItemUpserted.new(subtype_to_hash.merge(HttpClient::Helper.symbolize_keys(incoming))) end |
#subtype_to_hash ⇒ Object
22450 22451 22452 22453 22454 22455 22456 22457 22458 22459 22460 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22450 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
22442 22443 22444 |
# File 'lib/flow_commerce/flow_api_v0_client.rb', line 22442 def to_json JSON.dump(to_hash) end |