Class: Translatomatic::ResourceFile::YAML
- Defined in:
- lib/translatomatic/resource_file/yaml.rb
Overview
YAML resource file
Instance Attribute Summary
Attributes inherited from Base
Class Method Summary collapse
-
.extensions ⇒ Array<String>
File extensions supported by this resource file.
-
.key_value? ⇒ boolean
True if the file format consists of keys and values.
-
.supports_variable_interpolation? ⇒ boolean
True if this resource file supports variable interpolation.
Instance Method Summary collapse
-
#create_variable(name) ⇒ String
Create an interpolated variable string.
-
#save(target = path, options = {}) ⇒ void
Save the resource file.
-
#set(key, value) ⇒ String
Set a property.
-
#variable_regex ⇒ Regexp
A regexp used to match interpolated variables.
Methods inherited from Base
enabled?, #get, #get_context, #initialize, #locale_path, preferred_locale_separator, #properties, #properties=, #sentences, #to_s, #type
Methods included from PathUtils
#detect_path_locale, #modify_path_locale
Constructor Details
This class inherits a constructor from Translatomatic::ResourceFile::Base
Class Method Details
.extensions ⇒ Array<String>
Returns File extensions supported by this resource file.
9 10 11 |
# File 'lib/translatomatic/resource_file/yaml.rb', line 9 def self.extensions %w[yml yaml] end |
.key_value? ⇒ boolean
Returns True if the file format consists of keys and values.
14 15 16 |
# File 'lib/translatomatic/resource_file/yaml.rb', line 14 def self.key_value? true end |
.supports_variable_interpolation? ⇒ boolean
Returns true if this resource file supports variable interpolation.
19 20 21 |
# File 'lib/translatomatic/resource_file/yaml.rb', line 19 def self.supports_variable_interpolation? true end |
Instance Method Details
#create_variable(name) ⇒ String
Create an interpolated variable string.
46 47 48 |
# File 'lib/translatomatic/resource_file/yaml.rb', line 46 def create_variable(name) "%{#{name}}" end |
#save(target = path, options = {}) ⇒ void
This method returns an undefined value.
Save the resource file.
35 36 37 38 39 40 41 42 43 |
# File 'lib/translatomatic/resource_file/yaml.rb', line 35 def save(target = path, = {}) return unless @data data = @data data = data.transform_keys { locale.language } if ruby_i18n? out = data.to_yaml out.sub!(/^---\n/m, '') out = comment(created_by) + "\n" + out unless [:no_created_by] target.write(out) end |
#set(key, value) ⇒ String
Set a property
24 25 26 27 28 29 30 31 32 |
# File 'lib/translatomatic/resource_file/yaml.rb', line 24 def set(key, value) super(key, value) hash = @data path = key.to_s.split(/\./) last_key = path.pop path.each { |i| hash = (hash[i] ||= {}) } hash[last_key] = value end |
#variable_regex ⇒ Regexp
Returns A regexp used to match interpolated variables.
51 52 53 |
# File 'lib/translatomatic/resource_file/yaml.rb', line 51 def variable_regex /\%\s*\{.*?\}/ end |