Sha256: e18eb9f178b139016f9eda1670ff94a5e1c11c48501393732fa5bd9caaa528d7

Contents?: true

Size: 956 Bytes

Versions: 2

Compression:

Stored size: 956 Bytes

Contents

# encoding: UTF-8

# Copyright 2012 Twitter, Inc
# http://www.apache.org/licenses/LICENSE-2.0

module TwitterCldr
  module Formatters
    class CurrencyFormatter < NumberFormatter
      DEFAULT_FORMAT_OPTIONS = { :precision => 2 }
      DEFAULT_CURRENCY_SYMBOL = "$"

      def initialize(options = {})
        @tokenizer = TwitterCldr::Tokenizers::NumberTokenizer.new(:locale => self.extract_locale(options), :type => :currency)
        super
      end

      def format(number, options = {})
        if options[:currency]
          currency ||= TwitterCldr::Shared::Currencies.for_code(options[:currency])
          currency ||= TwitterCldr::Shared::Currencies.for_country(options[:currency])
          currency ||= { :symbol => options[:currency] }
        else
          currency = { :symbol => DEFAULT_CURRENCY_SYMBOL }
        end

        super(number, DEFAULT_FORMAT_OPTIONS.merge(options)).gsub('ยค', currency[:symbol])
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
twitter_cldr-1.2.0 lib/twitter_cldr/formatters/numbers/currency_formatter.rb
twitter_cldr-1.1.0 lib/formatters/numbers/currency_formatter.rb