generate_replacement

in lib/twitter_cldr/formatters/numbers/rbnf/formatters.rb [83:105]


        def generate_replacement(number, rule, token)
          if rule_set_name = token.rule_set_reference
            RuleFormatter.format(
              number,
              rule_group.rule_set_for(rule_set_name),
              rule_group,
              locale
            )
          elsif decimal_format = token.decimal_format
            sign = number < 0 ? :negative : :positive
            @data_reader ||= TwitterCldr::DataReaders::NumberDataReader.new(locale)
            decimal_format = @data_reader.pattern_for_sign(decimal_format, sign)
            @decimal_tokenizer ||= TwitterCldr::Tokenizers::NumberTokenizer.new(@data_reader)
            decimal_tokens = @decimal_tokenizer.tokenize(decimal_format)
            @decimal_formatter ||= TwitterCldr::Formatters::NumberFormatter.new(@data_reader)
            @decimal_formatter.format(
              decimal_tokens, number, type: :decimal
            )
          else
            RuleFormatter.format(number, rule_set, rule_group, locale)
          end
        end