Class: TwitterCldr::Resources::Requirements::CldrRequirement

Inherits:
Object
  • Object
show all
Defined in:
lib/twitter_cldr/resources/requirements/cldr_requirement.rb

Constant Summary collapse

CLDR_URL =
"https://unicode.org/Public/cldr/%{version}/core.zip"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(version) ⇒ CldrRequirement

Returns a new instance of CldrRequirement.



20
21
22
# File 'lib/twitter_cldr/resources/requirements/cldr_requirement.rb', line 20

def initialize(version)
  @version = version
end

Instance Attribute Details

#versionObject (readonly)

Returns the value of attribute version.



18
19
20
# File 'lib/twitter_cldr/resources/requirements/cldr_requirement.rb', line 18

def version
  @version
end

Instance Method Details

#common_pathObject



39
40
41
# File 'lib/twitter_cldr/resources/requirements/cldr_requirement.rb', line 39

def common_path
  File.join(source_path, 'common')
end

#merge_each_ancestor(locale, merge_root: true) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/twitter_cldr/resources/requirements/cldr_requirement.rb', line 43

def merge_each_ancestor(locale, merge_root: true)
  locales = locale_chain(locale)
  locales << :root if merge_root

  locales.inject({}) do |result, ancestor_locale|
    deep_merge(yield(ancestor_locale), result)
  end
end

#prepareObject



24
25
26
27
28
29
30
31
32
33
# File 'lib/twitter_cldr/resources/requirements/cldr_requirement.rb', line 24

def prepare
  # download and unzip if source directory doesn't exist
  unless File.directory?(source_path)
    STDOUT.write("Downloading cldr v#{version}... ")
    download
    puts 'done'
  end

  puts "Using cldr v#{version} from #{source_path}"
end

#source_pathObject



35
36
37
# File 'lib/twitter_cldr/resources/requirements/cldr_requirement.rb', line 35

def source_path
  @source_path ||= File.join(TwitterCldr::VENDOR_DIR, "cldr_v#{version}")
end