Class: TranslationEngine::Translation
- Inherits:
-
Object
- Object
- TranslationEngine::Translation
- Defined in:
- app/models/translation_engine/translation.rb
Class Method Summary collapse
- .catch(text, keys) ⇒ Object
- .catch_basic_value(text, keys) ⇒ Object
- .catched ⇒ Object
- .clear_catched ⇒ Object
- .data_type(text) ⇒ Object
- .normalize_for_translation_server(value) ⇒ Object
Instance Method Summary collapse
- #full_key ⇒ Object
-
#initialize(text, keys) ⇒ Translation
constructor
A new instance of Translation.
- #to_s ⇒ Object
Constructor Details
#initialize(text, keys) ⇒ Translation
Returns a new instance of Translation.
50 51 52 53 54 |
# File 'app/models/translation_engine/translation.rb', line 50 def initialize(text, keys) @text = text @keys = keys self.class.catch(@text, @keys) end |
Class Method Details
.catch(text, keys) ⇒ Object
11 12 13 14 15 16 17 18 19 |
# File 'app/models/translation_engine/translation.rb', line 11 def self.catch(text, keys) if text.is_a?(Hash) text.each do |key, value| TranslationEngine::Translation.catch(value, keys + [key]) end else catch_basic_value(text, keys) end end |
.catch_basic_value(text, keys) ⇒ Object
21 22 23 24 25 26 27 |
# File 'app/models/translation_engine/translation.rb', line 21 def self.catch_basic_value(text, keys) catched << { data_type: data_type(text), key: keys.join('.'), text: normalize_for_translation_server(text) } end |
.catched ⇒ Object
3 4 5 |
# File 'app/models/translation_engine/translation.rb', line 3 def self.catched @catched ||= [] end |
.clear_catched ⇒ Object
7 8 9 |
# File 'app/models/translation_engine/translation.rb', line 7 def self.clear_catched @catched = [] end |
.data_type(text) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'app/models/translation_engine/translation.rb', line 37 def self.data_type(text) case text when Array then 'array' when String then 'string' when Float then 'float' when Integer then 'integer' when TrueClass then 'boolean' when FalseClass then 'boolean' when Symbol then 'symbol' else nil end end |
.normalize_for_translation_server(value) ⇒ Object
29 30 31 32 33 34 35 |
# File 'app/models/translation_engine/translation.rb', line 29 def self.normalize_for_translation_server(value) if value.is_a?(Array) YAML.dump(value).gsub("---\n", '') else value end end |
Instance Method Details
#full_key ⇒ Object
56 57 58 |
# File 'app/models/translation_engine/translation.rb', line 56 def full_key @keys.join('.') rescue '' end |
#to_s ⇒ Object
60 61 62 63 64 65 66 |
# File 'app/models/translation_engine/translation.rb', line 60 def to_s if TranslationEngine.use_screenshots && @text.is_a?(String) && !full_key.include?('.routes') "--TRANSLATION--#{full_key}--#{@text}" else @text end end |