Module: MoneyRails::Configuration
- Included in:
- MoneyRails
- Defined in:
- lib/money-rails/configuration.rb
Overview
MoneyRails configuration module. This is extended by MoneyRails to provide configuration settings.
Constant Summary collapse
- @@include_validations =
true
- @@amount_column =
{ postfix: '_cents', type: :integer, null: false, default: 0, present: true }
- @@currency_column =
{ postfix: '_currency', type: :string, null: false, default: 'USD', present: true }
- @@no_cents_if_whole =
nil
- @@symbol =
nil
- @@sign_before_symbol =
nil
- @@default_format =
nil
- @@raise_error_on_money_parsing =
false
- @@preserve_user_input =
false
Instance Method Summary collapse
-
#configure {|_self| ... } ⇒ Object
Start a MoneyRails configuration block in an initializer.
-
#default_currency ⇒ Object
Configuration parameters.
-
#default_currency=(currency_name) ⇒ Object
Set default currency of money library.
-
#register_currency=(currency_options) ⇒ Object
Register a custom currency.
- #rounding_mode=(mode) ⇒ Object
- #set_currency_column_for_default_currency! ⇒ Object
Instance Method Details
#configure {|_self| ... } ⇒ Object
Start a MoneyRails configuration block in an initializer.
example: Provide a default currency for the application
MoneyRails.configure do |config|
config.default_currency = :eur
end
16 17 18 |
# File 'lib/money-rails/configuration.rb', line 16 def configure yield self end |
#default_currency ⇒ Object
Configuration parameters
22 23 24 |
# File 'lib/money-rails/configuration.rb', line 22 def default_currency Money::Currency.new(Money.default_currency) end |
#default_currency=(currency_name) ⇒ Object
Set default currency of money library
27 28 29 30 |
# File 'lib/money-rails/configuration.rb', line 27 def default_currency=(currency_name) Money.default_currency = currency_name set_currency_column_for_default_currency! end |
#register_currency=(currency_options) ⇒ Object
Register a custom currency
33 34 35 |
# File 'lib/money-rails/configuration.rb', line 33 def register_currency=() Money::Currency.register() end |
#rounding_mode=(mode) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/money-rails/configuration.rb', line 42 def rounding_mode=(mode) valid_modes = [ BigDecimal::ROUND_UP, BigDecimal::ROUND_DOWN, BigDecimal::ROUND_HALF_UP, BigDecimal::ROUND_HALF_DOWN, BigDecimal::ROUND_HALF_EVEN, BigDecimal::ROUND_CEILING, BigDecimal::ROUND_FLOOR ] raise ArgumentError, "#{mode} is not a valid rounding mode" unless valid_modes.include?(mode) Money.rounding_mode = mode end |
#set_currency_column_for_default_currency! ⇒ Object
37 38 39 40 |
# File 'lib/money-rails/configuration.rb', line 37 def set_currency_column_for_default_currency! iso_code = default_currency.iso_code currency_column.merge! default: iso_code end |