Class: Locca::AndroidProject

Inherits:
Project
  • Object
show all
Defined in:
lib/locca/projects/android_project.rb

Constant Summary collapse

MAIN_COLLECTION_NAME =
'strings'

Instance Attribute Summary collapse

Attributes inherited from Project

#base_lang, #dir

Instance Method Summary collapse

Methods inherited from Project

#config_value_for_key, #prevent_sync_without_comments?

Constructor Details

#initialize(dir, config) ⇒ AndroidProject

Returns a new instance of AndroidProject.



33
34
35
36
# File 'lib/locca/projects/android_project.rb', line 33

def initialize(dir, config)
  super(dir, config)
    @lang_dir = File.join(dir, config['lang_dir'])
end

Instance Attribute Details

#lang_dirObject (readonly)

Returns the value of attribute lang_dir.



31
32
33
# File 'lib/locca/projects/android_project.rb', line 31

def lang_dir
  @lang_dir
end

Instance Method Details

#collection_builderObject



73
74
75
76
# File 'lib/locca/projects/android_project.rb', line 73

def collection_builder()
    parser = AndroidStringsParser.new()
    return CollectionBuilder.new(File, parser) 
end

#collection_namesObject



55
56
57
58
59
# File 'lib/locca/projects/android_project.rb', line 55

def collection_names
    result = Set.new()
    result.add(MAIN_COLLECTION_NAME);
    return result 
end

#collection_writerObject



78
79
80
# File 'lib/locca/projects/android_project.rb', line 78

def collection_writer()
    return AndroidCollectionWriter.new(File)
end

#collections_generatorObject



82
83
84
# File 'lib/locca/projects/android_project.rb', line 82

def collections_generator()
  return AndroidCollectionsGenerator.new(self, collection_builder())
end

#full_collection_name(collection_name) ⇒ Object



61
62
63
# File 'lib/locca/projects/android_project.rb', line 61

def full_collection_name(collection_name)
    return "#{collection_name}.xml"
end

#langsObject



42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/locca/projects/android_project.rb', line 42

def langs
    result = Set.new()
    result.add(self.base_lang)

    Dir.glob(File.join(@lang_dir, 'values-*')) do |filepath|
        if (File.exist?(File.join(filepath, "#{MAIN_COLLECTION_NAME}.xml")))
            result.add(File.basename(filepath).split('-', 2).last) 
        end
    end

    return result
end

#nameObject



38
39
40
# File 'lib/locca/projects/android_project.rb', line 38

def name
    return "Android"
end

#one_sky_file_formatObject



86
87
88
# File 'lib/locca/projects/android_project.rb', line 86

def one_sky_file_format
    return "ANDROID_XML"
end

#path_for_collection(collection_name, lang) ⇒ Object



65
66
67
68
69
70
71
# File 'lib/locca/projects/android_project.rb', line 65

def path_for_collection(collection_name, lang)
  if (lang == self.base_lang)
    return File.join(@lang_dir, "values", "#{collection_name}.xml")
  else
      return File.join(@lang_dir, "values-#{lang}", "#{collection_name}.xml")
    end
end