Sha256: 2eeb8e155e1ec2ccc0b91ad97375975706276c0c36125e02597e7673c4cbc82a

Contents?: true

Size: 1.34 KB

Versions: 27

Compression:

Stored size: 1.34 KB

Contents

# encoding: UTF-8

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

module TwitterCldr
  module Shared
    module Currencies
      class << self
        def currency_codes(locale = :en)
          resource(locale).keys.map { |c| c.to_s }
        end

        def for_code(currency_code, locale = :en)
          currency_code = currency_code.to_sym
          data = resource(locale)[currency_code]
          symbol_data = iso_currency_symbols[currency_code]

          if data
            result = {
              :currency    => currency_code,
              :name        => data[:one],
              :cldr_symbol => data[:symbol] || currency_code.to_s,
              :symbol      => data[:symbol] || currency_code.to_s,
              :code_points => (data[:symbol] || currency_code.to_s).unpack("U*")
            }

            result.merge!(symbol_data) if symbol_data
          end

          result
        end

        private

        # ISO 4217 to be precise
        def iso_currency_symbols
          @iso_currency_symbols ||= TwitterCldr.get_resource(:shared, :iso_currency_symbols)
        end

        def resource(locale)
          locale = locale.to_sym
          @resource ||= {}
          @resource[locale] ||= TwitterCldr.get_resource(:locales, locale, :currencies)[locale][:currencies]
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 2 rubygems

Version Path
solidus_backend-1.0.0.pre3 vendor/bundle/gems/twitter_cldr-3.2.1/lib/twitter_cldr/shared/currencies.rb
solidus_backend-1.0.0.pre2 vendor/bundle/gems/twitter_cldr-3.2.1/lib/twitter_cldr/shared/currencies.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/twitter_cldr-3.1.2/lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.2.1 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.2.0 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.1.2 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.1.1 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.1.0 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.10 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.9 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.8 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.7 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.6 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.5 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.4 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.3 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.2 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.1 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-2.4.3 lib/twitter_cldr/shared/currencies.rb
twitter_cldr-3.0.0 lib/twitter_cldr/shared/currencies.rb