Class: Cldr::Export::Data::SegmentsRoot
- Inherits:
-
Base
- Object
- Hash
- Base
- Cldr::Export::Data::SegmentsRoot
show all
- Defined in:
- lib/cldr/export/data/segments_root.rb
Instance Attribute Summary
Attributes inherited from Base
#locale
Instance Method Summary
collapse
Methods inherited from Base
#[]=, #update
Methods inherited from Hash
#deep_merge, #deep_stringify_keys, #symbolize_keys
Constructor Details
Returns a new instance of SegmentsRoot.
6
7
8
9
|
# File 'lib/cldr/export/data/segments_root.rb', line 6
def initialize
super(nil)
update(:segments => segmentations)
end
|
Instance Method Details
#path ⇒ Object
44
45
46
|
# File 'lib/cldr/export/data/segments_root.rb', line 44
def path
@path ||= "#{Cldr::Export::Data.dir}/segments/root.xml"
end
|
#rules(node) ⇒ Object
35
36
37
38
39
40
41
42
|
# File 'lib/cldr/export/data/segments_root.rb', line 35
def rules(node)
(node / "segmentRules" / "rule").map do |rule|
{
:id => rule.attribute("id").value,
:value => rule.text
}
end
end
|
#segmentation(node) ⇒ Object
19
20
21
22
23
24
|
# File 'lib/cldr/export/data/segments_root.rb', line 19
def segmentation(node)
{
:variables => variables(node),
:rules => rules(node)
}
end
|
#segmentations ⇒ Object
11
12
13
14
15
16
17
|
# File 'lib/cldr/export/data/segments_root.rb', line 11
def segmentations
doc.xpath("ldml/segmentations/segmentation").inject({}) do |ret, seg|
type = seg.attribute("type").value
ret[type] = segmentation(seg)
ret
end
end
|
#variables(node) ⇒ Object
26
27
28
29
30
31
32
33
|
# File 'lib/cldr/export/data/segments_root.rb', line 26
def variables(node)
(node / "variables" / "variable").map do |variable|
{
:id => variable.attribute("id").value,
:value => variable.text
}
end
end
|