i18n_translation_spawner 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. data/lib/i18n_translation_spawner.rb +9 -21
  2. metadata +3 -3
@@ -21,14 +21,6 @@ module I18n
21
21
 
22
22
  lambda_accessor :translation_for_key, :file_path_decoder
23
23
 
24
- #def translation_for_key(key, locale)
25
- #if key_translations_handler.respond_to?(:call)
26
- #key_translations_handler.call(key, locale, self)
27
- #else
28
- #default_translation_for_key(key, locale)
29
- #end
30
- #end
31
-
32
24
  def translation(key, locale)
33
25
  if translations_handler.respond_to?(:call)
34
26
  translations_handler.call(key, locale, self)
@@ -37,22 +29,18 @@ module I18n
37
29
  end
38
30
  end
39
31
 
40
- #def decode_file_path(key, locale)
41
- #if file_path_decoder.respond_to?(:call)
42
- #file_path_decoder.call(key, locale, self)
43
- #else
44
- #default_decode_file_path(key, locale)
45
- #end
46
- #end
47
-
48
32
  def spawn_translation_key(key, locale, options, exception)
49
33
  I18n.available_locales.reject { |l| skip_locales.map(&:to_s).include?(l.to_s) }.each do |_locale|
50
34
  begin
51
- file_path_decoder(key, _locale).tap do |path|
52
- translations_hash = YAML::load_file(path)
53
- hash_to_merge = "#{_locale.to_s}.#{key}".to_hash(translation(key, _locale.to_s)).deep_stringify_keys!
54
- translations_hash = translations_hash.deep_merge(hash_to_merge).to_ordered_hash
55
- File.open(path, 'w') { |f| f.write(YAML.unescape(translations_hash.ya2yaml.sub(/---\s*/, ''))) }
35
+ begin
36
+ I18n.translate(key, options.merge({:locale => _locale, :raise => true}))
37
+ rescue I18n::MissingTranslationData
38
+ file_path_decoder(key, _locale).tap do |path|
39
+ translations_hash = YAML::load_file(path)
40
+ hash_to_merge = "#{_locale.to_s}.#{key}".to_hash(translation(key, _locale.to_s)).deep_stringify_keys!
41
+ translations_hash = translations_hash.deep_merge(hash_to_merge).to_ordered_hash
42
+ File.open(path, 'w') { |f| f.write(YAML.unescape(translations_hash.ya2yaml.sub(/---\s*/, ''))) }
43
+ end
56
44
  end
57
45
  rescue CannotDecodeTranslationFilePath
58
46
  if cannot_decode_translation_file_path_handler.respond_to?(:call)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: i18n_translation_spawner
3
3
  version: !ruby/object:Gem::Version
4
- hash: 3
4
+ hash: 1
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 14
10
- version: 0.0.14
9
+ - 15
10
+ version: 0.0.15
11
11
  platform: ruby
12
12
  authors:
13
13
  - "B\xC5\x82a\xC5\xBCej --Stevo-- Kosmowski"