Sha256: 0eec0d6baefbfecab2074f022740f6dd014e7b7a2167092a9f8bb22d43b75ffb
Contents?: true
Size: 1.32 KB
Versions: 3
Compression:
Stored size: 1.32 KB
Contents
require "plurimath/formatter/numeric_formatter" module Plurimath class NumberFormatter attr_accessor :locale, :localize_number, :localizer_symbols def initialize(locale = "en", localize_number: nil, localizer_symbols: {}) @locale = supported_locale(locale) @localize_number = localize_number @localizer_symbols = localizer_symbols end def localized_number(number_string, locale: @locale, precision: nil, format: {}) prev_symbols = symbols(locale).dup Formatter::NumericFormatter.new( supported_locale(locale), localize_number: localize_number, localizer_symbols: localizer_symbols, ).localized_number( number_string, locale: supported_locale(locale), precision: precision, format: format, ) ensure symbols(locale).replace(prev_symbols) end def twitter_cldr_reader(locale: @locale) Formatter::NumericFormatter.new( supported_locale(locale), localize_number: localize_number, localizer_symbols: localizer_symbols, ).twitter_cldr_reader end private def supported_locale(locale) TwitterCldr.supported_locale?(locale.to_sym) ? locale.to_sym : :en end def symbols(locale) TwitterCldr::DataReaders::NumberDataReader.new(locale).symbols end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
plurimath-0.8.13 | lib/plurimath/number_formatter.rb |
plurimath-0.8.12 | lib/plurimath/number_formatter.rb |
plurimath-0.8.11 | lib/plurimath/number_formatter.rb |