Class: ONIX::ProductSupply

Inherits:
SubsetDSL show all
Defined in:
lib/onix/product_supply.rb

Instance Attribute Summary

Attributes included from Attributes

#attributes

Low level collapse

Instance Method Summary collapse

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_dateDate

availability date from market

Returns:

  • (Date)


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

Returns:

  • (Boolean)


45
46
47
# File 'lib/onix/product_supply.rb', line 45

def available?
  self.available_supply_details.length > 0
end

#available_supply_detailsArray<SupplyDetail>

available supply details

Returns:



34
35
36
# File 'lib/onix/product_supply.rb', line 34

def available_supply_details
  @supply_details.select { |supply_detail| supply_detail.available? }
end

#countriesArray<String>

countries string array

Returns:

  • (Array<String>)


22
23
24
# File 'lib/onix/product_supply.rb', line 22

def countries
  @markets.map { |market| market.territory.countries }.flatten.uniq
end

#distributorsArray<String>

distributors string array

Returns:

  • (Array<String>)


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_detailMarketPublishingDetail



9
# File 'lib/onix/product_supply.rb', line 9

element "MarketPublishingDetail", :subset, :cardinality => 0..1

#marketsArray<Market>

Returns:



8
# File 'lib/onix/product_supply.rb', line 8

elements "Market", :subset, :cardinality => 0..n

#supply_detailsArray<SupplyDetail>

Returns:



10
# File 'lib/onix/product_supply.rb', line 10

elements "SupplyDetail", :subset, :cardinality => 1..n

#unavailable_supply_detailsArray<SupplyDetail>

unavailable supply details

Returns:



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