Module: RailsI18nManager
- Defined in:
- lib/rails_i18n_manager.rb,
lib/rails_i18n_manager/config.rb,
lib/rails_i18n_manager/engine.rb,
lib/rails_i18n_manager/version.rb,
app/lib/rails_i18n_manager/forms/base.rb,
app/jobs/rails_i18n_manager/application_job.rb,
app/lib/rails_i18n_manager/google_translate.rb,
app/models/rails_i18n_manager/translation_app.rb,
app/models/rails_i18n_manager/translation_key.rb,
app/models/rails_i18n_manager/translation_value.rb,
app/models/rails_i18n_manager/application_record.rb,
app/helpers/rails_i18n_manager/application_helper.rb,
app/helpers/rails_i18n_manager/custom_form_builder.rb,
app/jobs/rails_i18n_manager/translations_import_job.rb,
app/lib/rails_i18n_manager/forms/translation_file_form.rb,
app/controllers/rails_i18n_manager/application_controller.rb,
app/controllers/rails_i18n_manager/translations_controller.rb,
app/controllers/rails_i18n_manager/translation_apps_controller.rb
Defined Under Namespace
Modules: ApplicationHelper, Forms, GoogleTranslate
Classes: ApplicationController, ApplicationJob, ApplicationRecord, Config, CustomFormBuilder, Engine, TranslationApp, TranslationAppsController, TranslationKey, TranslationValue, TranslationsController, TranslationsImportJob
Constant Summary
collapse
- VERSION =
'1.0.1'
Class Method Summary
collapse
Class Method Details
._recursive_fetch_keys(list:, key:, val:, prev_dot_notation_key: nil) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/rails_i18n_manager.rb', line 28
def self._recursive_fetch_keys(list:, key:, val:, prev_dot_notation_key: nil)
if prev_dot_notation_key
dot_notation_key = [prev_dot_notation_key, key].compact.join(".")
else
dot_notation_key = key
end
if val.is_a?(Hash)
val.each do |inner_key, inner_val|
_recursive_fetch_keys(list: list, key: inner_key, val: inner_val, prev_dot_notation_key: dot_notation_key)
end
else
list << dot_notation_key
end
end
|
.config(&block) ⇒ Object
6
7
8
9
10
11
12
13
14
|
# File 'lib/rails_i18n_manager.rb', line 6
def self.config(&block)
c = RailsI18nManager::Config
if block_given?
block.call(c)
else
return c
end
end
|
.fetch_flattened_dot_notation_keys(translations_hash) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/rails_i18n_manager.rb', line 16
def self.fetch_flattened_dot_notation_keys(translations_hash)
keys = []
translations_hash.each do |_locale, h|
h.each do |k,v|
_recursive_fetch_keys(list: keys, key: k, val: v)
end
end
return keys.uniq
end
|
.hash_deep_set(hash, keys_array, val) ⇒ Object
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/rails_i18n_manager.rb', line 44
def self.hash_deep_set(hash, keys_array, val)
if !hash.is_a?(::Hash)
raise TypeError.new("Invalid object passed to #{__method__}, must be a Hash")
end
keys_array[0...-1].inject(hash){|result, key|
if !result[key].is_a?(Hash)
result[key] = {}
end
result[key]
}.send(:[]=, keys_array.last, val)
return hash
end
|