class TwitterCldr::Formatters::Rbnf::Plural
Attributes
cases[R]
locale[R]
plural_type[R]
Public Class Methods
from_string(locale, str)
click to toggle source
# File lib/twitter_cldr/formatters/numbers/rbnf/plural.rb, line 11 def self.from_string(locale, str) # $(cardinal,one{ tysiąc}few{ tysiące}other{ tysięcy})$ plural_type, cases = str.gsub(/\$\((.*)\)\$/, '\1').split(',') # one{ tysiąc}few{ tysiące}other{ tysięcy} cases = cases.scan(/([\w]+)\{([^}]+)\}/).inject({}) do |ret, case_arr| ret[case_arr.first.to_sym] = case_arr.last ret end new(locale, plural_type.to_sym, cases) end
new(locale, plural_type, cases)
click to toggle source
plural_type
= cardinal, etc cases = hash of form one: “foo”, two: “bar”
# File lib/twitter_cldr/formatters/numbers/rbnf/plural.rb, line 28 def initialize(locale, plural_type, cases) @locale = locale @plural_type = plural_type @cases = cases end
Public Instance Methods
render(number)
click to toggle source
# File lib/twitter_cldr/formatters/numbers/rbnf/plural.rb, line 34 def render(number) rule_name = TwitterCldr::Formatters::Plurals::Rules.rule_for( number, locale, plural_type ) cases[rule_name] || cases[:other] end
type()
click to toggle source
# File lib/twitter_cldr/formatters/numbers/rbnf/plural.rb, line 42 def type :plural end