interpret 1.0.1 → 1.0.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/app/models/interpret/translation.rb +10 -0
- data/interpret.gemspec +1 -1
- data/lib/interpret/version.rb +1 -1
- data/spec/models/translation_spec.rb +25 -0
- metadata +74 -30
@@ -4,8 +4,10 @@ module Interpret
|
|
4
4
|
default_scope order('locale ASC')
|
5
5
|
validates_uniqueness_of :key, :scope => :locale
|
6
6
|
validates_presence_of :locale
|
7
|
+
validate :key_format
|
7
8
|
|
8
9
|
after_update :set_stale
|
10
|
+
before_validation :downcase_key
|
9
11
|
|
10
12
|
scope :stale, where(:stale => true)
|
11
13
|
|
@@ -20,6 +22,14 @@ module Interpret
|
|
20
22
|
Translation.where(:key => key).where(Translation.arel_table[:locale].not_eq(locale)).update_all({:stale => true})
|
21
23
|
end
|
22
24
|
|
25
|
+
def downcase_key
|
26
|
+
self.key = key.downcase
|
27
|
+
end
|
28
|
+
|
29
|
+
def key_format
|
30
|
+
errors.add(:key, "has an invalid format") unless key =~ /^[a-zA-Z0-9\._]+$/
|
31
|
+
end
|
32
|
+
|
23
33
|
class << self
|
24
34
|
|
25
35
|
def allowed
|
data/interpret.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_dependency "i18n", "~> 0.6.0"
|
24
24
|
s.add_dependency "i18n-active_record"
|
25
25
|
s.add_dependency "ya2yaml", ">= 0.30.0"
|
26
|
-
s.add_dependency "best_in_place", "~> 1.0
|
26
|
+
s.add_dependency "best_in_place", "~> 1.0"
|
27
27
|
s.add_dependency "lazyhash", ">= 0.1.1"
|
28
28
|
s.add_dependency "cancan", "~> 1.6.0"
|
29
29
|
|
data/lib/interpret/version.rb
CHANGED
@@ -302,4 +302,29 @@ es:
|
|
302
302
|
Interpret::Translation.locale("pt").find_by_key("p1").stale?.should be_false
|
303
303
|
end
|
304
304
|
end
|
305
|
+
|
306
|
+
describe "downcase key" do
|
307
|
+
it "should be performed before validation" do
|
308
|
+
subject.key = "PayPal.resume"
|
309
|
+
subject.save!
|
310
|
+
subject.key.should == "paypal.resume"
|
311
|
+
end
|
312
|
+
end
|
313
|
+
|
314
|
+
describe "key format" do
|
315
|
+
it "should not allow spaces" do
|
316
|
+
subject.key = "not allowed spaces"
|
317
|
+
subject.should_not be_valid
|
318
|
+
end
|
319
|
+
|
320
|
+
it "should not allow -" do
|
321
|
+
subject.key = "not-allowed"
|
322
|
+
subject.should_not be_valid
|
323
|
+
end
|
324
|
+
|
325
|
+
it "should allow _" do
|
326
|
+
subject.key = "some_key.other_key"
|
327
|
+
subject.should be_valid
|
328
|
+
end
|
329
|
+
end
|
305
330
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: interpret
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '3.1'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ~>
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.1'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: i18n
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ~>
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: 0.6.0
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ~>
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.6.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: i18n-active_record
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: ya2yaml
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,21 +69,31 @@ dependencies:
|
|
54
69
|
version: 0.30.0
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.30.0
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: best_in_place
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ~>
|
64
84
|
- !ruby/object:Gem::Version
|
65
|
-
version: 1.0
|
85
|
+
version: '1.0'
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '1.0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: lazyhash
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: 0.1.1
|
77
102
|
type: :runtime
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.1.1
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: cancan
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ~>
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: 1.6.0
|
88
118
|
type: :runtime
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ~>
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 1.6.0
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: rspec-rails
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ~>
|
@@ -98,10 +133,15 @@ dependencies:
|
|
98
133
|
version: '2.5'
|
99
134
|
type: :development
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ~>
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '2.5'
|
102
142
|
- !ruby/object:Gem::Dependency
|
103
143
|
name: capybara
|
104
|
-
requirement:
|
144
|
+
requirement: !ruby/object:Gem::Requirement
|
105
145
|
none: false
|
106
146
|
requirements:
|
107
147
|
- - ~>
|
@@ -109,10 +149,15 @@ dependencies:
|
|
109
149
|
version: 1.0.1
|
110
150
|
type: :development
|
111
151
|
prerelease: false
|
112
|
-
version_requirements:
|
152
|
+
version_requirements: !ruby/object:Gem::Requirement
|
153
|
+
none: false
|
154
|
+
requirements:
|
155
|
+
- - ~>
|
156
|
+
- !ruby/object:Gem::Version
|
157
|
+
version: 1.0.1
|
113
158
|
- !ruby/object:Gem::Dependency
|
114
159
|
name: launchy
|
115
|
-
requirement:
|
160
|
+
requirement: !ruby/object:Gem::Requirement
|
116
161
|
none: false
|
117
162
|
requirements:
|
118
163
|
- - ! '>='
|
@@ -120,7 +165,12 @@ dependencies:
|
|
120
165
|
version: '0'
|
121
166
|
type: :development
|
122
167
|
prerelease: false
|
123
|
-
version_requirements:
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
169
|
+
none: false
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
124
174
|
description: Manage your app translations with an i18n active_record backend
|
125
175
|
email:
|
126
176
|
- roger@itnig.net
|
@@ -264,21 +314,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
264
314
|
- - ! '>='
|
265
315
|
- !ruby/object:Gem::Version
|
266
316
|
version: '0'
|
267
|
-
segments:
|
268
|
-
- 0
|
269
|
-
hash: -372104909
|
270
317
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
271
318
|
none: false
|
272
319
|
requirements:
|
273
320
|
- - ! '>='
|
274
321
|
- !ruby/object:Gem::Version
|
275
322
|
version: '0'
|
276
|
-
segments:
|
277
|
-
- 0
|
278
|
-
hash: -372104909
|
279
323
|
requirements: []
|
280
324
|
rubyforge_project: interpret
|
281
|
-
rubygems_version: 1.8.
|
325
|
+
rubygems_version: 1.8.18
|
282
326
|
signing_key:
|
283
327
|
specification_version: 3
|
284
328
|
summary: Manage your app translations with an i18n active_record backend
|