Class: ONIX::ONIX21::Price

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

Instance Attribute Summary

Attributes included from Attributes

#attributes

Shortcuts collapse

Low level collapse

Instance Method Summary collapse

Methods inherited from SubsetDSL

#get_class, ref_to_short, short_to_ref

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

#amountFloat

shortcut for #price_amount

Returns:

  • (Float)


135
136
137
138
# File 'lib/onix/onix21.rb', line 135

element "PriceAmount", :float, {
  :shortcut => :amount,
  :parse_lambda => lambda { |v| (v * 100).round }
}

#country_codesArray<String>

Returns:

  • (Array<String>)


142
# File 'lib/onix/onix21.rb', line 142

elements "CountryCode", :text

#currencyString

shortcut for #currency_code

Returns:

  • (String)


141
# File 'lib/onix/onix21.rb', line 141

element "CurrencyCode", :text, :shortcut => :currency

#currency_codeString

Returns:

  • (String)


141
# File 'lib/onix/onix21.rb', line 141

element "CurrencyCode", :text, :shortcut => :currency

#discount_codedDiscountCoded

Returns:



140
# File 'lib/onix/onix21.rb', line 140

element "DiscountCoded", :subset

#from_dateObject



154
155
156
157
158
# File 'lib/onix/onix21.rb', line 154

def from_date
  if @price_effective_from
    Date.strptime(@price_effective_from, "%Y%m%d")
  end
end

#including_tax?Boolean

Returns:

  • (Boolean)


146
147
148
149
150
151
152
# File 'lib/onix/onix21.rb', line 146

def including_tax?
  if @price_type_code.human =~ /IncludingTax/
    true
  else
    false
  end
end

#price_amountFloat

Returns:

  • (Float)


135
136
137
138
# File 'lib/onix/onix21.rb', line 135

element "PriceAmount", :float, {
  :shortcut => :amount,
  :parse_lambda => lambda { |v| (v * 100).round }
}

#price_effective_fromString

Returns:

  • (String)


143
# File 'lib/onix/onix21.rb', line 143

element "PriceEffectiveFrom", :text

#price_effective_untilString

Returns:

  • (String)


144
# File 'lib/onix/onix21.rb', line 144

element "PriceEffectiveUntil", :text

#price_qualifierPriceQualifier

Returns:



139
# File 'lib/onix/onix21.rb', line 139

element "PriceQualifier", :subset, :shortcut => :qualifier

#price_type_codePriceTypeCode

Returns:

  • (PriceTypeCode)


134
# File 'lib/onix/onix21.rb', line 134

element "PriceTypeCode", :subset, :klass => "PriceType"

#qualifierPriceQualifier

shortcut for #price_qualifier

Returns:



139
# File 'lib/onix/onix21.rb', line 139

element "PriceQualifier", :subset, :shortcut => :qualifier

#taxObject



170
171
172
# File 'lib/onix/onix21.rb', line 170

def tax
  nil
end

#territoryObject



166
167
168
# File 'lib/onix/onix21.rb', line 166

def territory
  Territory.new(@country_codes)
end

#until_dateObject



160
161
162
163
164
# File 'lib/onix/onix21.rb', line 160

def until_date
  if @price_effective_until
    Date.strptime(@price_effective_until, "%Y%m%d")
  end
end