Class: Terrestrial::Cli::StringRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/terrestrial/cli/string_registry.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(entries) ⇒ StringRegistry

Returns a new instance of StringRegistry.



24
25
26
# File 'lib/terrestrial/cli/string_registry.rb', line 24

def initialize(entries)
  @entries = entries
end

Class Method Details

.find_entries(file) ⇒ Object



32
33
34
35
36
37
38
39
40
# File 'lib/terrestrial/cli/string_registry.rb', line 32

def self.find_entries(file)
  if Config[:platform] == "ios"
    DotStringsParser.parse_file(Config[:directory] + "/#{file}")
  elsif Config[:platform] == "android"
    AndroidXmlParser.parse_file(Config[:directory] + "/#{file}")
  elsif Config[:platform] == "unity"
    UnityParser.parse_file(Config[:directory] + "/#{file}")
  end
end

.loadObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/terrestrial/cli/string_registry.rb', line 5

def self.load
  entries = Config[:translation_files].flat_map do |file|
    begin
      entries = find_entries(file)
      entries.each do |entry|
        entry["file"] = file # Ensure paths are relative
      end
    rescue Errno::ENOENT
      puts ""
      puts "Could not find localization file."
      puts "Looked in #{Config[:directory] + "/" + file}"
      puts "If the file is no longer in your project, remove it from your tracked files in terrestrial.yml."
      abort
    end
  end

  new(entries)
end

Instance Method Details

#entriesObject



28
29
30
# File 'lib/terrestrial/cli/string_registry.rb', line 28

def entries
  @entries
end