Class: Twine::Formatters::Abstract
- Inherits:
-
Object
- Object
- Twine::Formatters::Abstract
- Defined in:
- lib/twine/formatters/abstract.rb
Class Method Summary collapse
Instance Method Summary collapse
- #default_file_name ⇒ Object
- #determine_language_given_path(path) ⇒ Object
- #read_file(path, lang, strings) ⇒ Object
- #row_matches_tags?(row, tags) ⇒ Boolean
- #translated_string_for_row_and_lang(row, lang, default_lang) ⇒ Object
- #write_all_files(path, tags, strings) ⇒ Object
- #write_file(path, lang, tags, strings) ⇒ Object
Class Method Details
.can_handle_directory?(path) ⇒ Boolean
4 5 6 |
# File 'lib/twine/formatters/abstract.rb', line 4 def self.can_handle_directory?(path) return false end |
Instance Method Details
#default_file_name ⇒ Object
8 9 10 |
# File 'lib/twine/formatters/abstract.rb', line 8 def default_file_name raise NotImplementedError.new("You must implement default_file_name in your formatter class.") end |
#determine_language_given_path(path) ⇒ Object
12 13 14 |
# File 'lib/twine/formatters/abstract.rb', line 12 def determine_language_given_path(path) raise NotImplementedError.new("You must implement determine_language_given_path in your formatter class.") end |
#read_file(path, lang, strings) ⇒ Object
16 17 18 |
# File 'lib/twine/formatters/abstract.rb', line 16 def read_file(path, lang, strings) raise NotImplementedError.new("You must implement read_file in your formatter class.") end |
#row_matches_tags?(row, tags) ⇒ Boolean
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/twine/formatters/abstract.rb', line 37 def (row, ) if == nil || .length == 0 return true end if != nil && row. != nil .each do |tag| if row..include? tag return true end end end return false end |
#translated_string_for_row_and_lang(row, lang, default_lang) ⇒ Object
53 54 55 |
# File 'lib/twine/formatters/abstract.rb', line 53 def translated_string_for_row_and_lang(row, lang, default_lang) row.translations[lang] || row.translations[default_lang] end |
#write_all_files(path, tags, strings) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/twine/formatters/abstract.rb', line 24 def write_all_files(path, , strings) if !File.directory?(path) raise Twine::Error.new("Directory does not exist: #{path}") end Dir.foreach(path) do |item| lang = determine_language_given_path(item) if lang write_file(File.join(path, item, default_file_name), lang, , strings) end end end |
#write_file(path, lang, tags, strings) ⇒ Object
20 21 22 |
# File 'lib/twine/formatters/abstract.rb', line 20 def write_file(path, lang, , strings) raise NotImplementedError.new("You must implement write_file in your formatter class.") end |