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