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
Constructor Details
#initialize(amount, options = {}) ⇒ Money
Returns a new instance of Money.
20 21 22 23 |
# File 'lib/spree/money.rb', line 20 def initialize(amount, = {}) @money = Monetize.parse([amount, ([:currency] || Spree::Config[:currency])].join) @options = Spree::Money.default_formatting_rules.merge() end |
Class Attribute Details
.default_formatting_rules ⇒ Object
Returns the value of attribute default_formatting_rules.
8 9 10 |
# File 'lib/spree/money.rb', line 8 def default_formatting_rules @default_formatting_rules end |
Instance Attribute Details
#money ⇒ Object (readonly)
Returns the value of attribute money.
17 18 19 |
# File 'lib/spree/money.rb', line 17 def money @money end |
Instance Method Details
#==(obj) ⇒ Object
61 62 63 |
# File 'lib/spree/money.rb', line 61 def ==(obj) money == obj.money end |
#amount_in_cents ⇒ Object
25 26 27 |
# File 'lib/spree/money.rb', line 25 def amount_in_cents (cents / currency.subunit_to_unit.to_f * 100).round end |
#as_json ⇒ Object
49 50 51 |
# File 'lib/spree/money.rb', line 49 def as_json(*) to_s end |
#decimal_mark ⇒ Object
53 54 55 |
# File 'lib/spree/money.rb', line 53 def decimal_mark [:decimal_mark] || money.decimal_mark end |
#thousands_separator ⇒ Object
57 58 59 |
# File 'lib/spree/money.rb', line 57 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
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/spree/money.rb', line 35 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
29 30 31 |
# File 'lib/spree/money.rb', line 29 def to_s money.format() end |