lit 0.0.4.1 → 0.0.4.2
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.
- data/lib/lit/cache.rb +32 -25
- data/lib/lit/version.rb +1 -1
- metadata +1 -1
data/lib/lit/cache.rb
CHANGED
@@ -96,36 +96,43 @@ module Lit
|
|
96
96
|
private
|
97
97
|
|
98
98
|
def find_localization(locale, key_without_locale, value=nil)
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
if value.
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
99
|
+
unless value.is_a?(Hash)
|
100
|
+
localization_key = find_localization_key(key_without_locale)
|
101
|
+
create = false
|
102
|
+
localization = Lit::Localization.where(:locale_id=>locale.id).
|
103
|
+
where(:localization_key_id=>localization_key.id).first_or_create do |l|
|
104
|
+
if value.is_a?(Array)
|
105
|
+
if value.length > 1
|
106
|
+
new_value = nil
|
107
|
+
value_clone = value.dup
|
108
|
+
while v = value_clone.pop
|
109
|
+
lk = Lit::LocalizationKey.where(:localization_key=>v).first
|
110
|
+
if lk
|
111
|
+
loca = Lit::Localization.where(:locale_id=>locale.id).
|
112
|
+
where(:localization_key_id=>lk.id).first
|
113
|
+
new_value = loca.get_value if loca and loca.get_value.present?
|
114
|
+
|
115
|
+
end
|
114
116
|
end
|
117
|
+
value = new_value.nil? ? value.last : new_value
|
118
|
+
else
|
119
|
+
value = value.first
|
115
120
|
end
|
116
|
-
value = new_value.nil? ? value.last : new_value
|
117
|
-
else
|
118
|
-
value = value.first
|
119
121
|
end
|
122
|
+
l.default_value = value.to_s
|
123
|
+
#Lit.init.logger.info "creating new localization: #{key_without_locale}"
|
124
|
+
#Lit.init.logger.info "creating new localization with value: #{value}"
|
125
|
+
#Lit.init.logger.info "creating new localization with value: #{value.class}"
|
126
|
+
create = true
|
120
127
|
end
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
128
|
+
localization_key.clone_localizations if create and localization_key.localizations.count(:id)==1
|
129
|
+
localization
|
130
|
+
else
|
131
|
+
Lit.init.logger.info "returning value for hash: #{key_without_locale}: #{value.to_s}"
|
132
|
+
l = Localization.new
|
133
|
+
l.default_value = value
|
134
|
+
l
|
126
135
|
end
|
127
|
-
localization_key.clone_localizations if create and localization_key.localizations.count(:id)==1
|
128
|
-
localization
|
129
136
|
end
|
130
137
|
|
131
138
|
def find_localization_key(key_without_locale)
|
data/lib/lit/version.rb
CHANGED