Class: ONIX::Price
Instance Attribute Summary
Attributes included from Attributes
#attributes
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
Instance Method Details
#amount ⇒ Float
32
33
34
35
36
37
38
|
# File 'lib/onix/price.rb', line 32
element "PriceAmount", :float,
{
:shortcut => :amount,
:parse_lambda => lambda { |v| (v * 100).round },
:serialize_lambda => lambda { |v| format("%.2f", v / 100.0) },
:cardinality => 0..1
}
|
44
|
# File 'lib/onix/price.rb', line 44
elements "ComparisonProductPrice", :subset, :cardinality => 0..n
|
#currency ⇒ String
42
|
# File 'lib/onix/price.rb', line 42
element "CurrencyCode", :text, :shortcut => :currency, :cardinality => 0..1
|
#currency_code ⇒ String
42
|
# File 'lib/onix/price.rb', line 42
element "CurrencyCode", :text, :shortcut => :currency, :cardinality => 0..1
|
45
|
# File 'lib/onix/price.rb', line 45
elements "PriceDate", :subset, :shortcut => :dates, :cardinality => 0..n
|
FIXME discount_coded != discount
51
52
53
|
# File 'lib/onix/price.rb', line 51
def discount
self.discount_codeds.first
end
|
29
|
# File 'lib/onix/price.rb', line 29
elements "DiscountCoded", :subset, :cardinality => 0..n
|
#discounts ⇒ Array<Discount>
30
|
# File 'lib/onix/price.rb', line 30
elements "Discount", :subset, :cardinality => 0..n
|
20
|
# File 'lib/onix/price.rb', line 20
element "EpubLicense", :subset, :cardinality => 0..1
|
15
|
# File 'lib/onix/price.rb', line 15
elements "EpubTechnicalProtection", :subset, :cardinality => 0..n
|
#from_date ⇒ Date
59
60
61
62
63
64
|
# File 'lib/onix/price.rb', line 59
def from_date
dt = @price_dates.from_date.first
if dt
dt.date
end
end
|
#including_tax? ⇒ Boolean
does the price include taxes ?
77
78
79
80
81
82
83
|
# File 'lib/onix/price.rb', line 77
def including_tax?
if self.type.human =~ /IncludingTax/
true
else
false
end
end
|
47
|
# File 'lib/onix/price.rb', line 47
element "PositionOnProduct", :subset, :cardinality => 0..1
|
#price_amount ⇒ Float
32
33
34
35
36
37
38
|
# File 'lib/onix/price.rb', line 32
element "PriceAmount", :float,
{
:shortcut => :amount,
:parse_lambda => lambda { |v| (v * 100).round },
:serialize_lambda => lambda { |v| format("%.2f", v / 100.0) },
:cardinality => 0..1
}
|
#price_dates ⇒ Array<PriceDate>
45
|
# File 'lib/onix/price.rb', line 45
elements "PriceDate", :subset, :shortcut => :dates, :cardinality => 0..n
|
14
|
# File 'lib/onix/price.rb', line 14
element "PriceQualifier", :subset, :shortcut => :qualifier, :cardinality => 0..1
|
31
|
# File 'lib/onix/price.rb', line 31
element "PriceStatus", :subset
|
13
|
# File 'lib/onix/price.rb', line 13
element "PriceType", :subset, :shortcut => :type, :cardinality => 0..1
|
#price_type_description ⇒ String
21
|
# File 'lib/onix/price.rb', line 21
element "PriceTypeDescription", :text, :cardinality => 0..n
|
46
|
# File 'lib/onix/price.rb', line 46
element "PrintedOnProduct", :subset, :cardinality => 0..1
|
14
|
# File 'lib/onix/price.rb', line 14
element "PriceQualifier", :subset, :shortcut => :qualifier, :cardinality => 0..1
|
#tax ⇒ Tax
39
|
# File 'lib/onix/price.rb', line 39
element "Tax", :subset, :cardinality => 0..n
|
#tax_exempt ⇒ Boolean
40
|
# File 'lib/onix/price.rb', line 40
element "TaxExempt", :bool, :cardinality => 0..1
|
43
|
# File 'lib/onix/price.rb', line 43
element "Territory", :subset, :cardinality => 0..1
|
13
|
# File 'lib/onix/price.rb', line 13
element "PriceType", :subset, :shortcut => :type, :cardinality => 0..1
|
41
|
# File 'lib/onix/price.rb', line 41
element "UnpricedItemType", :subset, :cardinality => 0..1
|
#until_date ⇒ Date
68
69
70
71
72
73
|
# File 'lib/onix/price.rb', line 68
def until_date
dt = @price_dates.until_date.first
if dt
dt.date
end
end
|