Class: Cldr::Data::Plurals

Inherits:
String
  • Object
show all
Defined in:
lib/cldr/data/plurals.rb,
lib/cldr/data/plurals/rules.rb,
lib/cldr/data/plurals/grammar.rb

Defined Under Namespace

Modules: Grammar Classes: Expression, Proposition, Rule, Rules

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from String

#camelize, #underscore

Constructor Details

#initialize(locale) ⇒ Plurals

Returns a new instance of Plurals.



25
26
27
28
# File 'lib/cldr/data/plurals.rb', line 25

def initialize(locale)
  @locale = locale
  super(rule ? ruby : "")
end

Instance Attribute Details

#localeObject (readonly)

Returns the value of attribute locale.



23
24
25
# File 'lib/cldr/data/plurals.rb', line 23

def locale
  @locale
end

Class Method Details

.rulesObject



14
15
16
# File 'lib/cldr/data/plurals.rb', line 14

def rules
  @@rules ||= Rules.parse(source)
end

.sourceObject



18
19
20
# File 'lib/cldr/data/plurals.rb', line 18

def source
  File.read("#{Cldr::Data.dir}/supplemental/plurals.xml")
end

Instance Method Details

#rubyObject



30
31
32
# File 'lib/cldr/data/plurals.rb', line 30

def ruby
  "{ :#{locale} => { :i18n => {:plural => { :keys => #{rule.keys.inspect}, :rule => #{rule.to_ruby} } } } }"
end

#ruleObject



34
35
36
# File 'lib/cldr/data/plurals.rb', line 34

def rule
  @rule = Plurals.rules.rule(locale)
end