Class: TwitterCldr::Js::Renderers::Implementation::Shared::BidiRenderer

Inherits:
Base
  • Object
show all
Defined in:
lib/twitter_cldr/js/renderers/implementation/shared/bidi_renderer.rb

Instance Attribute Summary

Attributes inherited from Base

#locale

Instance Method Summary collapse

Methods inherited from Base

set_template

Constructor Details

#initialize(options = {}) ⇒ BidiRenderer

Returns a new instance of BidiRenderer.



15
16
17
18
# File 'lib/twitter_cldr/js/renderers/implementation/shared/bidi_renderer.rb', line 15

def initialize(options = {})
  super
  @prerender = options[:prerender]
end

Instance Method Details

#bidi_classesObject



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/twitter_cldr/js/renderers/implementation/shared/bidi_renderer.rb', line 20

def bidi_classes
  @@bidi_classes ||= if @prerender
    File.read(File.expand_path(File.join(File.dirname(__FILE__), "../../..", "mustache/implementation/shared/prerender/bidi_classes.json")))
  else
    categories = rangify_code_points(code_points_by_category)

    categories.inject({}) do |ret, (bidi_class, ranges)|
      ret[bidi_class] ||= {}
      ranges.each do |range|
        diff = range.first == range.last ? 0 : range.last - range.first
        ret[bidi_class][diff] ||= []
        ret[bidi_class][diff] << range.first
      end
      ret
    end.to_json
  end
end