Class: ONIX::ProductSupply
- Defined in:
- lib/onix/product_supply.rb
Instance Attribute Summary
Attributes included from Attributes
Low level collapse
- #market_publishing_detail ⇒ MarketPublishingDetail
- #markets ⇒ Array<Market>
- #supply_details ⇒ Array<SupplyDetail>
Instance Method Summary collapse
-
#availability_date ⇒ Date
availability date from market.
- #available? ⇒ Boolean
-
#available_supply_details ⇒ Array<SupplyDetail>
available supply details.
-
#countries ⇒ Array<String>
countries string array.
-
#distributors ⇒ Array<String>
distributors string array.
-
#unavailable_supply_details ⇒ Array<SupplyDetail>
unavailable supply details.
Methods inherited from SubsetDSL
element, elements, #get_class, get_class, inherited, #initialize, n, #parse, ref_to_short, register_elements, register_scopes, #register_subset_array, registered_elements, #registered_elements, registered_scopes, scope, short_to_ref
Methods inherited from Subset
parse, #parse, #tag_match, #unsupported
Methods included from Attributes
attribute_class, #parse_attributes, #serialized_attributes
Constructor Details
This class inherits a constructor from ONIX::SubsetDSL
Instance Method Details
#availability_date ⇒ Date
availability date from market
14 15 16 17 18 |
# File 'lib/onix/product_supply.rb', line 14 def availability_date if @market_publishing_detail @market_publishing_detail.availability_date end end |
#available? ⇒ Boolean
45 46 47 |
# File 'lib/onix/product_supply.rb', line 45 def available? self.available_supply_details.length > 0 end |
#available_supply_details ⇒ Array<SupplyDetail>
available supply details
34 35 36 |
# File 'lib/onix/product_supply.rb', line 34 def available_supply_details @supply_details.select { |supply_detail| supply_detail.available? } end |
#countries ⇒ Array<String>
countries string array
22 23 24 |
# File 'lib/onix/product_supply.rb', line 22 def countries @markets.map { |market| market.territory.countries }.flatten.uniq end |
#distributors ⇒ Array<String>
distributors string array
28 29 30 |
# File 'lib/onix/product_supply.rb', line 28 def distributors @supply_details.map { |supply_detail| supply_detail.distributors }.flatten.uniq { |distributor| distributor.name } end |
#market_publishing_detail ⇒ MarketPublishingDetail
9 |
# File 'lib/onix/product_supply.rb', line 9 element "MarketPublishingDetail", :subset, :cardinality => 0..1 |
#markets ⇒ Array<Market>
8 |
# File 'lib/onix/product_supply.rb', line 8 elements "Market", :subset, :cardinality => 0..n |
#supply_details ⇒ Array<SupplyDetail>
10 |
# File 'lib/onix/product_supply.rb', line 10 elements "SupplyDetail", :subset, :cardinality => 1..n |
#unavailable_supply_details ⇒ Array<SupplyDetail>
unavailable supply details
40 41 42 |
# File 'lib/onix/product_supply.rb', line 40 def unavailable_supply_details @supply_details.delete_if { |supply_detail| supply_detail.available? } end |