60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
# File 'app/controllers/concerns/glib/json/new_dynamic_text.rb', line 60
def retrieve_local_texts(keys)
translated_texts = {}
db_keys = []
redis = Glib::DynamicText::Config.redis
contents = redis.pipelined do
keys.each do |key|
args = @__specs[key].first.args
options = {
scope: args.fetch(:scope, 'itinerarybuilder'),
lang: args.fetch(:lang, 'en')
}
scope_key = "#{options[:scope]}.#{options[:lang]}.#{key}"
redis.get(scope_key)
end
end
keys.each_with_index do |key, index|
if content = contents[index]
translated_texts[key] = content
db_keys << key if content.match(/\{\{image(\d)\}\}/)
else
db_keys << key
end
end
if db_keys.size > 0
texts = Glib::Text.where(key: db_keys)
texts.each do |text|
translated_texts[text.key] = text.content
@__specs_db[text.key] = text
end
end
translated_texts
end
|