module MoneyRails::Configuration

MoneyRails configuration module. This is extended by MoneyRails to provide configuration settings.

Public Instance Methods

configure() { |self| ... } click to toggle source

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
# File lib/money-rails/configuration.rb, line 16
def configure
  yield self
end
default_currency() click to toggle source

Configuration parameters

# File lib/money-rails/configuration.rb, line 22
def default_currency
  Money::Currency.new(Money.default_currency)
end
default_currency=(currency_name) click to toggle source

Set default currency of money library

# 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) click to toggle source

Register a custom currency

# File lib/money-rails/configuration.rb, line 33
def register_currency=(currency_options)
  Money::Currency.register(currency_options)
end
rounding_mode=(mode) click to toggle source
# 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!() click to toggle source
# 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