air18n 0.1.2 → 0.1.3
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/air18n/backend.rb +1 -1
- data/lib/air18n/phrase_translation.rb +7 -0
- data/lib/air18n/version.rb +1 -1
- data/make_gem +1 -1
- data/spec/lib/air18n/phrase_translation_spec.rb +14 -0
- metadata +2 -2
data/lib/air18n/backend.rb
CHANGED
@@ -158,7 +158,7 @@ module Air18n
|
|
158
158
|
# If it doesn't, we need to update the 'phrases' table so that
|
159
159
|
# the 'value' column reflects the latest English default text.
|
160
160
|
if result.present?
|
161
|
-
LoggingHelper.info "Default
|
161
|
+
LoggingHelper.info "Default #{I18n.default_locale} text for key '#{key}' changed! Old default '#{result}' != new default '#{default}'. Route context: #{options[:routes_context]}"
|
162
162
|
end
|
163
163
|
phrase = Phrase.find_or_create_by_key(key)
|
164
164
|
if phrase
|
@@ -247,6 +247,13 @@ module Air18n
|
|
247
247
|
end
|
248
248
|
|
249
249
|
def check_matching_variables
|
250
|
+
if /maxlength:(\d+)/ =~ key
|
251
|
+
max_length = $1.to_i
|
252
|
+
length = value.size
|
253
|
+
if length > max_length
|
254
|
+
self.errors.add(:value, "Translation has #{length} characters; maximum length #{max_length} characters.")
|
255
|
+
end
|
256
|
+
end
|
250
257
|
unless variables_match?
|
251
258
|
our_variables = self.variables
|
252
259
|
their_variables = self.phrase.variables
|
data/lib/air18n/version.rb
CHANGED
data/make_gem
CHANGED
@@ -22,4 +22,18 @@ describe Air18n::PhraseTranslation do
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
+
context 'validations' do
|
26
|
+
it 'Should check maximum length' do
|
27
|
+
translation = FactoryGirl.create(:phrase_translation, :key => 'facebook description maxlength:10', :value => 'short')
|
28
|
+
validated = translation.save
|
29
|
+
validated.should == true
|
30
|
+
translation.value = 'too looooong'
|
31
|
+
translation.save.should be_false
|
32
|
+
translation.errors.should == { :value => ["Translation has 12 characters; maximum length 10 characters."] }
|
33
|
+
|
34
|
+
translation = FactoryGirl.create(:phrase_translation, :key => 'facebook description maxlength:0', :value => 'short')
|
35
|
+
validated = translation.save
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
25
39
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: air18n
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2012-07-
|
16
|
+
date: 2012-07-26 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: i18n
|