globalize 3.0.2 → 3.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1a82c5ec81f72d66b09459ad189182db93363f4
4
- data.tar.gz: 9d335fdfa855cd4930c6e95d3800cf50ee96ee83
3
+ metadata.gz: 34b357eb2051fae6a0a588bac79f4865412887c7
4
+ data.tar.gz: 87dcd21c654f413edc206becf2a249433a7128b0
5
5
  SHA512:
6
- metadata.gz: 40d4c1ea4d89d551b1097a163bb15d9e582b07e52c939552bb8d5c8ad599ad74e929e78d6d7778d103fa5394e8ca30bc110bbcc2e218d00b77b4f0633967139c
7
- data.tar.gz: b29d317a8a1eada6caec810ade6cde71a9451a8a6c0528f1da7e5a664d4be254d1c524b563872333b1c39d77f11858ced3166352d2ea2ae4ddba5262497f5764
6
+ metadata.gz: 934e4cbf69e650b3adc36fe5569007343d91bd6d9d1145e9b01e40e5c0039cebc4ddce55c9d109c46e76f657550f59477a291f86566eb33fdde8d1572596a468
7
+ data.tar.gz: 432ad39f1c190b723e688170306f94f9b98c6797fd70b73f3cfcee85366629338ded33aaeae0e827ff46535b4f1a8c3c306eacb4903251b6f405835cb2a363d9
data/Gemfile CHANGED
@@ -2,3 +2,8 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
+ platforms :rbx do
6
+ gem 'rubysl', '~> 2.0'
7
+ gem 'minitest'
8
+ gem 'test-unit'
9
+ end
data/Gemfile.lock CHANGED
@@ -1,15 +1,15 @@
1
1
  GIT
2
2
  remote: git://github.com/airblade/paper_trail.git
3
- revision: 7c9f9b8953f76dd046fbcbfab1a933853f99e87b
3
+ revision: c4e188c27040888515866660bac94740b92a262b
4
4
  branch: master
5
5
  specs:
6
- paper_trail (3.0.0.rc1)
6
+ paper_trail (3.0.0)
7
7
  activerecord (>= 3.0, < 5.0)
8
8
  activesupport (>= 3.0, < 5.0)
9
9
 
10
10
  GIT
11
11
  remote: git://github.com/bmabey/database_cleaner.git
12
- revision: 6da38c4c1a565bbcc62ed9b84c2574537c6ebae2
12
+ revision: c0c7885466287dcde3dbac195a5f10df306db098
13
13
  branch: master
14
14
  specs:
15
15
  database_cleaner (1.2.0)
@@ -17,7 +17,7 @@ GIT
17
17
  PATH
18
18
  remote: .
19
19
  specs:
20
- globalize (4.0.0.alpha.2)
20
+ globalize (4.0.0.alpha.3)
21
21
  activemodel (>= 4.0.0)
22
22
  activerecord (>= 4.0.0)
23
23
  paper_trail (~> 3.0.0.beta)
@@ -25,50 +25,253 @@ PATH
25
25
  GEM
26
26
  remote: https://rubygems.org/
27
27
  specs:
28
- activemodel (4.0.1)
29
- activesupport (= 4.0.1)
28
+ activemodel (4.0.2)
29
+ activesupport (= 4.0.2)
30
30
  builder (~> 3.1.0)
31
- activerecord (4.0.1)
32
- activemodel (= 4.0.1)
31
+ activerecord (4.0.2)
32
+ activemodel (= 4.0.2)
33
33
  activerecord-deprecated_finders (~> 1.0.2)
34
- activesupport (= 4.0.1)
34
+ activesupport (= 4.0.2)
35
35
  arel (~> 4.0.0)
36
36
  activerecord-deprecated_finders (1.0.3)
37
- activesupport (4.0.1)
37
+ activesupport (4.0.2)
38
38
  i18n (~> 0.6, >= 0.6.4)
39
39
  minitest (~> 4.2)
40
40
  multi_json (~> 1.3)
41
41
  thread_safe (~> 0.1)
42
42
  tzinfo (~> 0.3.37)
43
+ ansi (1.4.3)
43
44
  arel (4.0.1)
44
45
  atomic (1.1.14)
45
46
  builder (3.1.4)
46
- coderay (1.0.9)
47
- columnize (0.3.6)
48
- debugger (1.6.1)
49
- columnize (>= 0.3.1)
50
- debugger-linecache (~> 1.2.0)
51
- debugger-ruby_core_source (~> 1.2.3)
52
- debugger-linecache (1.2.0)
53
- debugger-ruby_core_source (1.2.3)
54
- i18n (0.6.5)
47
+ coderay (1.1.0)
48
+ ffi2-generators (0.1.1)
49
+ hashie (2.0.5)
50
+ i18n (0.6.9)
55
51
  json (1.8.1)
56
52
  method_source (0.8.2)
57
53
  minitest (4.7.5)
58
- minitest-colorize (0.0.5)
59
- minitest (>= 2.0)
54
+ minitest-reporters (0.14.23)
55
+ ansi
56
+ builder
57
+ minitest (>= 2.12, < 5.0)
58
+ powerbar
60
59
  multi_json (1.8.2)
61
- pry (0.9.12.2)
62
- coderay (~> 1.0.5)
60
+ powerbar (1.0.11)
61
+ ansi (~> 1.4.0)
62
+ hashie (>= 1.1.0)
63
+ pry (0.9.12.4)
64
+ coderay (~> 1.0)
63
65
  method_source (~> 0.8)
64
66
  slop (~> 3.4)
65
- pry-debugger (0.2.2)
66
- debugger (~> 1.3)
67
+ pry-nav (0.2.3)
67
68
  pry (~> 0.9.10)
68
69
  rake (10.1.0)
69
70
  rdoc (3.12.2)
70
71
  json (~> 1.4)
71
- slop (3.4.6)
72
+ rubysl (2.0.15)
73
+ rubysl-abbrev (~> 2.0)
74
+ rubysl-base64 (~> 2.0)
75
+ rubysl-benchmark (~> 2.0)
76
+ rubysl-bigdecimal (~> 2.0)
77
+ rubysl-cgi (~> 2.0)
78
+ rubysl-cgi-session (~> 2.0)
79
+ rubysl-cmath (~> 2.0)
80
+ rubysl-complex (~> 2.0)
81
+ rubysl-continuation (~> 2.0)
82
+ rubysl-coverage (~> 2.0)
83
+ rubysl-csv (~> 2.0)
84
+ rubysl-curses (~> 2.0)
85
+ rubysl-date (~> 2.0)
86
+ rubysl-delegate (~> 2.0)
87
+ rubysl-digest (~> 2.0)
88
+ rubysl-drb (~> 2.0)
89
+ rubysl-e2mmap (~> 2.0)
90
+ rubysl-english (~> 2.0)
91
+ rubysl-enumerator (~> 2.0)
92
+ rubysl-erb (~> 2.0)
93
+ rubysl-etc (~> 2.0)
94
+ rubysl-expect (~> 2.0)
95
+ rubysl-fcntl (~> 2.0)
96
+ rubysl-fiber (~> 2.0)
97
+ rubysl-fileutils (~> 2.0)
98
+ rubysl-find (~> 2.0)
99
+ rubysl-forwardable (~> 2.0)
100
+ rubysl-getoptlong (~> 2.0)
101
+ rubysl-gserver (~> 2.0)
102
+ rubysl-io-console (~> 2.0)
103
+ rubysl-io-nonblock (~> 2.0)
104
+ rubysl-io-wait (~> 2.0)
105
+ rubysl-ipaddr (~> 2.0)
106
+ rubysl-irb (~> 2.0)
107
+ rubysl-logger (~> 2.0)
108
+ rubysl-mathn (~> 2.0)
109
+ rubysl-matrix (~> 2.0)
110
+ rubysl-mkmf (~> 2.0)
111
+ rubysl-monitor (~> 2.0)
112
+ rubysl-mutex_m (~> 2.0)
113
+ rubysl-net-ftp (~> 2.0)
114
+ rubysl-net-http (~> 2.0)
115
+ rubysl-net-imap (~> 2.0)
116
+ rubysl-net-pop (~> 2.0)
117
+ rubysl-net-protocol (~> 2.0)
118
+ rubysl-net-smtp (~> 2.0)
119
+ rubysl-net-telnet (~> 2.0)
120
+ rubysl-nkf (~> 2.0)
121
+ rubysl-observer (~> 2.0)
122
+ rubysl-open-uri (~> 2.0)
123
+ rubysl-open3 (~> 2.0)
124
+ rubysl-openssl (~> 2.0)
125
+ rubysl-optparse (~> 2.0)
126
+ rubysl-ostruct (~> 2.0)
127
+ rubysl-pathname (~> 2.0)
128
+ rubysl-prettyprint (~> 2.0)
129
+ rubysl-prime (~> 2.0)
130
+ rubysl-profile (~> 2.0)
131
+ rubysl-profiler (~> 2.0)
132
+ rubysl-pstore (~> 2.0)
133
+ rubysl-pty (~> 2.0)
134
+ rubysl-rational (~> 2.0)
135
+ rubysl-readline (~> 2.0)
136
+ rubysl-resolv (~> 2.0)
137
+ rubysl-rexml (~> 2.0)
138
+ rubysl-rinda (~> 2.0)
139
+ rubysl-rss (~> 2.0)
140
+ rubysl-scanf (~> 2.0)
141
+ rubysl-securerandom (~> 2.0)
142
+ rubysl-set (~> 2.0)
143
+ rubysl-shellwords (~> 2.0)
144
+ rubysl-singleton (~> 2.0)
145
+ rubysl-socket (~> 2.0)
146
+ rubysl-stringio (~> 2.0)
147
+ rubysl-strscan (~> 2.0)
148
+ rubysl-sync (~> 2.0)
149
+ rubysl-syslog (~> 2.0)
150
+ rubysl-tempfile (~> 2.0)
151
+ rubysl-thread (~> 2.0)
152
+ rubysl-thwait (~> 2.0)
153
+ rubysl-time (~> 2.0)
154
+ rubysl-timeout (~> 2.0)
155
+ rubysl-tmpdir (~> 2.0)
156
+ rubysl-tsort (~> 2.0)
157
+ rubysl-un (~> 2.0)
158
+ rubysl-uri (~> 2.0)
159
+ rubysl-weakref (~> 2.0)
160
+ rubysl-webrick (~> 2.0)
161
+ rubysl-xmlrpc (~> 2.0)
162
+ rubysl-yaml (~> 2.0)
163
+ rubysl-zlib (~> 2.0)
164
+ rubysl-abbrev (2.0.4)
165
+ rubysl-base64 (2.0.0)
166
+ rubysl-benchmark (2.0.1)
167
+ rubysl-bigdecimal (2.0.2)
168
+ rubysl-cgi (2.0.1)
169
+ rubysl-cgi-session (2.0.1)
170
+ rubysl-cmath (2.0.0)
171
+ rubysl-complex (2.0.0)
172
+ rubysl-continuation (2.0.0)
173
+ rubysl-coverage (2.0.3)
174
+ rubysl-csv (2.0.2)
175
+ rubysl-english (~> 2.0)
176
+ rubysl-curses (2.0.0)
177
+ rubysl-date (2.0.6)
178
+ rubysl-delegate (2.0.1)
179
+ rubysl-digest (2.0.3)
180
+ rubysl-drb (2.0.1)
181
+ rubysl-e2mmap (2.0.0)
182
+ rubysl-english (2.0.0)
183
+ rubysl-enumerator (2.0.0)
184
+ rubysl-erb (2.0.1)
185
+ rubysl-etc (2.0.3)
186
+ ffi2-generators (~> 0.1)
187
+ rubysl-expect (2.0.0)
188
+ rubysl-fcntl (2.0.4)
189
+ ffi2-generators (~> 0.1)
190
+ rubysl-fiber (2.0.0)
191
+ rubysl-fileutils (2.0.3)
192
+ rubysl-find (2.0.1)
193
+ rubysl-forwardable (2.0.1)
194
+ rubysl-getoptlong (2.0.0)
195
+ rubysl-gserver (2.0.0)
196
+ rubysl-socket (~> 2.0)
197
+ rubysl-thread (~> 2.0)
198
+ rubysl-io-console (2.0.0)
199
+ rubysl-io-nonblock (2.0.0)
200
+ rubysl-io-wait (2.0.0)
201
+ rubysl-ipaddr (2.0.0)
202
+ rubysl-irb (2.0.4)
203
+ rubysl-e2mmap (~> 2.0)
204
+ rubysl-mathn (~> 2.0)
205
+ rubysl-readline (~> 2.0)
206
+ rubysl-thread (~> 2.0)
207
+ rubysl-logger (2.0.0)
208
+ rubysl-mathn (2.0.0)
209
+ rubysl-matrix (2.1.0)
210
+ rubysl-e2mmap (~> 2.0)
211
+ rubysl-mkmf (2.0.1)
212
+ rubysl-fileutils (~> 2.0)
213
+ rubysl-shellwords (~> 2.0)
214
+ rubysl-monitor (2.0.0)
215
+ rubysl-mutex_m (2.0.0)
216
+ rubysl-net-ftp (2.0.1)
217
+ rubysl-net-http (2.0.4)
218
+ rubysl-cgi (~> 2.0)
219
+ rubysl-erb (~> 2.0)
220
+ rubysl-singleton (~> 2.0)
221
+ rubysl-net-imap (2.0.1)
222
+ rubysl-net-pop (2.0.1)
223
+ rubysl-net-protocol (2.0.1)
224
+ rubysl-net-smtp (2.0.1)
225
+ rubysl-net-telnet (2.0.0)
226
+ rubysl-nkf (2.0.1)
227
+ rubysl-observer (2.0.0)
228
+ rubysl-open-uri (2.0.0)
229
+ rubysl-open3 (2.0.0)
230
+ rubysl-openssl (2.0.5)
231
+ rubysl-optparse (2.0.1)
232
+ rubysl-shellwords (~> 2.0)
233
+ rubysl-ostruct (2.0.4)
234
+ rubysl-pathname (2.0.0)
235
+ rubysl-prettyprint (2.0.2)
236
+ rubysl-prime (2.0.1)
237
+ rubysl-profile (2.0.0)
238
+ rubysl-profiler (2.0.1)
239
+ rubysl-pstore (2.0.0)
240
+ rubysl-pty (2.0.2)
241
+ rubysl-rational (2.0.1)
242
+ rubysl-readline (2.0.2)
243
+ rubysl-resolv (2.0.0)
244
+ rubysl-rexml (2.0.2)
245
+ rubysl-rinda (2.0.0)
246
+ rubysl-rss (2.0.0)
247
+ rubysl-scanf (2.0.0)
248
+ rubysl-securerandom (2.0.0)
249
+ rubysl-set (2.0.1)
250
+ rubysl-shellwords (2.0.0)
251
+ rubysl-singleton (2.0.0)
252
+ rubysl-socket (2.0.1)
253
+ rubysl-stringio (2.0.0)
254
+ rubysl-strscan (2.0.0)
255
+ rubysl-sync (2.0.0)
256
+ rubysl-syslog (2.0.1)
257
+ ffi2-generators (~> 0.1)
258
+ rubysl-tempfile (2.0.1)
259
+ rubysl-thread (2.0.2)
260
+ rubysl-thwait (2.0.0)
261
+ rubysl-time (2.0.3)
262
+ rubysl-timeout (2.0.0)
263
+ rubysl-tmpdir (2.0.0)
264
+ rubysl-tsort (2.0.1)
265
+ rubysl-un (2.0.0)
266
+ rubysl-fileutils (~> 2.0)
267
+ rubysl-optparse (~> 2.0)
268
+ rubysl-uri (2.0.0)
269
+ rubysl-weakref (2.0.0)
270
+ rubysl-webrick (2.0.0)
271
+ rubysl-xmlrpc (2.0.0)
272
+ rubysl-yaml (2.0.4)
273
+ rubysl-zlib (2.0.1)
274
+ slop (3.4.7)
72
275
  sqlite3 (1.3.8)
73
276
  thread_safe (0.1.3)
74
277
  atomic
@@ -81,10 +284,11 @@ DEPENDENCIES
81
284
  database_cleaner!
82
285
  globalize!
83
286
  minitest
84
- minitest-colorize
287
+ minitest-reporters
85
288
  paper_trail!
86
289
  pry
87
- pry-debugger
290
+ pry-nav
88
291
  rake
89
292
  rdoc
293
+ rubysl (~> 2.0)
90
294
  sqlite3
data/lib/globalize.rb CHANGED
@@ -3,6 +3,11 @@ require 'patches/active_record/xml_attribute_serializer'
3
3
  require 'patches/active_record/query_method'
4
4
  require 'patches/active_record/uniqueness_validator'
5
5
 
6
+ # until https://github.com/svenfuchs/i18n/issues/232 is resolved
7
+ unless I18n.respond_to?(:interpolate)
8
+ require 'patches/i18n/interpolate'
9
+ end
10
+
6
11
  module Globalize
7
12
  autoload :ActiveRecord, 'globalize/active_record'
8
13
  autoload :Versioning, 'globalize/versioning'
@@ -46,14 +46,12 @@ module Globalize
46
46
  existing_translations_by_locale[t.locale.to_s] = t
47
47
  end
48
48
 
49
- stash.each do |locale, attrs|
50
- if attrs.any?
51
- locale_str = locale.to_s
52
- translation = existing_translations_by_locale[locale_str] ||
53
- record.translations.find_or_initialize_by_locale(locale_str)
54
- attrs.each { |name, value| translation[name] = value }
55
- translation.save!
56
- end
49
+ stash.reject {|locale, attrs| attrs.empty?}.each do |locale, attrs|
50
+ translation = existing_translations_by_locale[locale.to_s] ||
51
+ record.translations.build(:locale => locale.to_s)
52
+ attrs.each { |name, value| translation[name] = value }
53
+ ensure_foreign_key_for(translation)
54
+ translation.save!
57
55
  end
58
56
 
59
57
  reset
@@ -63,7 +61,12 @@ module Globalize
63
61
  stash.clear
64
62
  end
65
63
 
66
- protected
64
+ protected
65
+
66
+ def ensure_foreign_key_for(translation)
67
+ # Sometimes the translation is initialised before a foreign key can be set.
68
+ translation[record.class.translation_options[:foreign_key]] = record.id
69
+ end
67
70
 
68
71
  def type_cast(name, value)
69
72
  if value.nil?
@@ -141,24 +141,26 @@ module Globalize
141
141
  private
142
142
 
143
143
  # Override the default relation method in order to return a subclass
144
- # of ActiveRecord::Relation with custom finder methods for translated
145
- # attributes.
146
- def relation
147
- relation = globalize_relation_class.new(self, arel_table)
148
-
149
- if finder_needs_type_condition?
150
- relation.where(type_condition).create_with(inheritance_column.to_sym => sti_name)
151
- else
152
- relation
144
+ # of ActiveRecord::Relation with custom where_values_hash method,
145
+ # for use in find_or_create_by_instantiator (Rails version >= 3.2.1)
146
+ if ::ActiveRecord::VERSION::STRING >= "3.2.1"
147
+ def relation
148
+ relation = globalize_relation_class.new(self, arel_table)
149
+
150
+ if finder_needs_type_condition?
151
+ relation.where(type_condition).create_with(inheritance_column.to_sym => sti_name)
152
+ else
153
+ relation
154
+ end
153
155
  end
154
- end
155
156
 
156
- # Use pattern defined in FriendlyId 4.x to avoid conflict with any other
157
- # gems (such as FriendlyId) which override relation method.
158
- def globalize_relation_class
159
- @globalize_relation_class ||= Class.new(relation_without_globalize.class).tap do |klass|
160
- klass.send :include, QueryMethods
161
- const_set('GlobalizeActiveRecordRelation', klass)
157
+ # Use pattern defined in FriendlyId 4.x to avoid conflict with any other
158
+ # gems (such as FriendlyId) which override relation method.
159
+ def globalize_relation_class
160
+ @globalize_relation_class ||= Class.new(relation_without_globalize.class).tap do |klass|
161
+ klass.send :include, QueryMethods
162
+ const_set('GlobalizeActiveRecordRelation', klass)
163
+ end
162
164
  end
163
165
  end
164
166
 
@@ -1,15 +1,12 @@
1
1
  module Globalize
2
2
  module ActiveRecord
3
3
  module QueryMethods
4
+ def where_values_hash
5
+ equalities = with_default_scope.where_values.grep(Arel::Nodes::Equality).find_all { |node|
6
+ node.left.relation.name == translations_table_name
7
+ }
4
8
 
5
- if ::ActiveRecord::VERSION::STRING >= "3.2.1"
6
- def where_values_hash
7
- equalities = with_default_scope.where_values.grep(Arel::Nodes::Equality).find_all { |node|
8
- node.left.relation.name == translations_table_name
9
- }
10
-
11
- super.merge(Hash[equalities.map { |where| [where.left.name, where.right] }]).with_indifferent_access
12
- end
9
+ super.merge(Hash[equalities.map { |where| [where.left.name, where.right] }]).with_indifferent_access
13
10
  end
14
11
  end
15
12
  end
@@ -1,3 +1,3 @@
1
1
  module Globalize
2
- Version = '3.0.2'
2
+ Version = '3.0.3'
3
3
  end
@@ -0,0 +1,37 @@
1
+ # heavily based on Masao Mutoh's gettext String interpolation extension
2
+ # http://github.com/mutoh/gettext/blob/f6566738b981fe0952548c421042ad1e0cdfb31e/lib/gettext/core_ext/string.rb
3
+
4
+ module I18n
5
+ INTERPOLATION_PATTERN = Regexp.union(
6
+ /%%/,
7
+ /%\{(\w+)\}/, # matches placeholders like "%{foo}"
8
+ /%<(\w+)>(.*?\d*\.?\d*[bBdiouxXeEfgGcps])/ # matches placeholders like "%<foo>.d"
9
+ )
10
+
11
+ class << self
12
+ # Return String or raises MissingInterpolationArgument exception.
13
+ # Missing argument's logic is handled by I18n.config.missing_interpolation_argument_handler.
14
+ def interpolate(string, values)
15
+ raise ReservedInterpolationKey.new($1.to_sym, string) if string =~ Backend::Base::RESERVED_KEYS_PATTERN
16
+ raise ArgumentError.new('Interpolation values must be a Hash.') unless values.kind_of?(Hash)
17
+ interpolate_hash(string, values)
18
+ end
19
+
20
+ def interpolate_hash(string, values)
21
+ string.gsub(INTERPOLATION_PATTERN) do |match|
22
+ if match == '%%'
23
+ '%'
24
+ else
25
+ key = ($1 || $2).to_sym
26
+ value = if values.key?(key)
27
+ values[key]
28
+ else
29
+ raise(MissingInterpolationArgument.new(values, string))
30
+ end
31
+ value = value.call(values) if value.respond_to?(:call)
32
+ $3 ? sprintf("%#{$3}", value) : value
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: globalize
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Fuchs
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2013-12-07 00:00:00.000000000 Z
17
+ date: 2013-12-26 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: activerecord
@@ -114,6 +114,20 @@ dependencies:
114
114
  - - '>='
115
115
  - !ruby/object:Gem::Version
116
116
  version: '0'
117
+ - !ruby/object:Gem::Dependency
118
+ name: friendly_id
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - '>='
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
117
131
  - !ruby/object:Gem::Dependency
118
132
  name: sqlite3
119
133
  requirement: !ruby/object:Gem::Requirement
@@ -138,6 +152,7 @@ files:
138
152
  - lib/patches/active_record/xml_attribute_serializer.rb
139
153
  - lib/patches/active_record/uniqueness_validator.rb
140
154
  - lib/patches/active_record/query_method.rb
155
+ - lib/patches/i18n/interpolate.rb
141
156
  - lib/globalize/active_record.rb
142
157
  - lib/globalize/versioning/paper_trail.rb
143
158
  - lib/globalize/active_record/adapter.rb