Class: Spree::Money
- Inherits:
-
Object
- Object
- Spree::Money
- Defined in:
- lib/spree/money.rb
Class Attribute Summary collapse
-
.default_formatting_rules ⇒ Object
Returns the value of attribute default_formatting_rules.
Instance Attribute Summary collapse
-
#money ⇒ Object
readonly
Returns the value of attribute money.
Instance Method Summary collapse
- #==(obj) ⇒ Object
- #amount_in_cents ⇒ Object
- #as_json ⇒ Object
- #decimal_mark ⇒ Object
-
#initialize(amount, options = {}) ⇒ Money
constructor
A new instance of Money.
- #thousands_separator ⇒ Object
-
#to_html(opts = { html: true }) ⇒ Object
1) prevent blank, breaking spaces 2) prevent escaping of HTML character entities.
- #to_s ⇒ Object
- #use_default_currency ⇒ Object
Constructor Details
#initialize(amount, options = {}) ⇒ Money
Returns a new instance of Money.
21 22 23 24 25 |
# File 'lib/spree/money.rb', line 21 def initialize(amount, = {}) use_default_currency @money = Monetize.parse([amount, ([:currency] || Spree::Config[:currency])].join) = Spree::Money.default_formatting_rules.merge() end |
Class Attribute Details
.default_formatting_rules ⇒ Object
Returns the value of attribute default_formatting_rules.
9 10 11 |
# File 'lib/spree/money.rb', line 9 def default_formatting_rules @default_formatting_rules end |
Instance Attribute Details
#money ⇒ Object (readonly)
Returns the value of attribute money.
18 19 20 |
# File 'lib/spree/money.rb', line 18 def money @money end |
Instance Method Details
#==(obj) ⇒ Object
63 64 65 |
# File 'lib/spree/money.rb', line 63 def ==(obj) money == obj.money end |
#amount_in_cents ⇒ Object
27 28 29 |
# File 'lib/spree/money.rb', line 27 def amount_in_cents (cents / currency.subunit_to_unit.to_f * 100).round end |
#as_json ⇒ Object
51 52 53 |
# File 'lib/spree/money.rb', line 51 def as_json(*) to_s end |
#decimal_mark ⇒ Object
55 56 57 |
# File 'lib/spree/money.rb', line 55 def decimal_mark [:decimal_mark] || money.decimal_mark end |
#thousands_separator ⇒ Object
59 60 61 |
# File 'lib/spree/money.rb', line 59 def thousands_separator [:thousands_separator] || money.thousands_separator end |
#to_html(opts = { html: true }) ⇒ Object
1) prevent blank, breaking spaces 2) prevent escaping of HTML character entities
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/spree/money.rb', line 37 def to_html(opts = { html: true }) # html option is deprecated and we need to fallback to html_wrap opts[:html_wrap] = opts[:html] opts.delete(:html) output = money.format(.merge(opts)) if opts[:html_wrap] output.gsub!(/<\/?[^>]*>/, '') # we don't want wrap every element in span output = output.sub(' ', ' ').html_safe end output end |
#to_s ⇒ Object
31 32 33 |
# File 'lib/spree/money.rb', line 31 def to_s money&.format() end |
#use_default_currency ⇒ Object
67 68 69 70 |
# File 'lib/spree/money.rb', line 67 def use_default_currency currency = Spree::Store.default.default_currency || Spree::Config[:currency] ::Money.default_currency = currency end |