Class: Mint::Railtie
- Inherits:
-
Rails::Railtie
- Object
- Rails::Railtie
- Mint::Railtie
- Defined in:
- lib/minting/railties.rb
Class Method Summary collapse
Class Method Details
.register_custom_currencies! ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/minting/railties.rb', line 33 def self.register_custom_currencies! Array(Mint.config.added_currencies).each do |currency_data| if currency_data.respond_to?(:values_at) code = currency_data[:currency] || currency_data['currency'] subunit = currency_data[:subunit] || currency_data['subunit'] symbol = currency_data[:symbol] || currency_data['symbol'] else code, subunit, symbol = *currency_data end Currency.register(code:, subunit:, symbol:) end end |
.setup_locale_backend! ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/minting/railties.rb', line 14 def self.setup_locale_backend! Mint.locale_backend = lambda { fmt = I18n.t('number.currency.format', default: {}) translator = ->(s) { s&.gsub('%n', '%<amount>f')&.gsub('%u', '%<symbol>s') } format = if fmt.key?(:positive) || fmt.key?(:negative) || fmt.key?(:zero) { positive: translator.call(fmt[:positive] || fmt[:format]), negative: translator.call(fmt[:negative] || fmt[:format]), zero: translator.call(fmt[:zero] || fmt[:format]) } else translator.call(fmt[:format]) end { decimal: fmt[:separator], thousand: fmt[:delimiter], format: format } } end |