globalize 4.0.0.alpha.2 → 4.0.0.alpha.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.
- checksums.yaml +4 -4
- data/Gemfile +4 -0
- data/Gemfile.lock +10 -29
- data/lib/globalize.rb +0 -1
- data/lib/globalize/active_record.rb +1 -1
- data/lib/globalize/active_record/class_methods.rb +10 -11
- data/lib/globalize/active_record/{relation.rb → query_methods.rb} +19 -6
- metadata +4 -5
- data/lib/patches/active_record/relation.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd7e2e9e5d23a8dd6696722ddd3dfabc200f07e1
|
4
|
+
data.tar.gz: 340c3919bd3bdb8a5a3f821c12189d29df20e181
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53351f2d7268b5e183410c58331205e9f704a24f6e5e2df95813117c0915d62c5ba9dbca33531bff572c80672a315e1add169bbdc2e2686b68abc51f45815d6e
|
7
|
+
data.tar.gz: c411ea171a017727cf07d2bd6dcc4e83c71f88700f4cde510684a88422e6eda44bf2af10e43d9c87a4b2de54d089d546e334cb81930128bd8259bb1808e337df
|
data/Gemfile
CHANGED
@@ -7,6 +7,10 @@ gem 'paper_trail', github: 'airblade/paper_trail', branch: 'master'
|
|
7
7
|
# Per https://github.com/bmabey/database_cleaner/issues/224
|
8
8
|
gem 'database_cleaner', github: 'bmabey/database_cleaner', branch: 'master'
|
9
9
|
|
10
|
+
platforms :rbx do
|
11
|
+
gem 'rubysl', '~> 2.0'
|
12
|
+
end
|
13
|
+
|
10
14
|
group :test do
|
11
15
|
gem 'pry'
|
12
16
|
gem 'pry-nav'
|
data/Gemfile.lock
CHANGED
@@ -1,39 +1,23 @@
|
|
1
|
-
GIT
|
2
|
-
remote: git://github.com/airblade/paper_trail.git
|
3
|
-
revision: 44f2380ec6cd45c15a8b654d5e7d694499c6e11c
|
4
|
-
branch: master
|
5
|
-
specs:
|
6
|
-
paper_trail (3.0.0.beta2)
|
7
|
-
activerecord (>= 3.0, < 5.0)
|
8
|
-
|
9
|
-
GIT
|
10
|
-
remote: git://github.com/bmabey/database_cleaner.git
|
11
|
-
revision: 6da38c4c1a565bbcc62ed9b84c2574537c6ebae2
|
12
|
-
branch: master
|
13
|
-
specs:
|
14
|
-
database_cleaner (1.2.0)
|
15
|
-
|
16
1
|
PATH
|
17
2
|
remote: .
|
18
3
|
specs:
|
19
|
-
globalize (4.0.0.alpha.
|
4
|
+
globalize (4.0.0.alpha.3)
|
20
5
|
activemodel (>= 4.0.0)
|
21
6
|
activerecord (>= 4.0.0)
|
22
|
-
paper_trail (~> 3.0.0.beta)
|
23
7
|
|
24
8
|
GEM
|
25
9
|
remote: https://rubygems.org/
|
26
10
|
specs:
|
27
|
-
activemodel (4.0.
|
28
|
-
activesupport (= 4.0.
|
11
|
+
activemodel (4.0.1)
|
12
|
+
activesupport (= 4.0.1)
|
29
13
|
builder (~> 3.1.0)
|
30
|
-
activerecord (4.0.
|
31
|
-
activemodel (= 4.0.
|
14
|
+
activerecord (4.0.1)
|
15
|
+
activemodel (= 4.0.1)
|
32
16
|
activerecord-deprecated_finders (~> 1.0.2)
|
33
|
-
activesupport (= 4.0.
|
17
|
+
activesupport (= 4.0.1)
|
34
18
|
arel (~> 4.0.0)
|
35
19
|
activerecord-deprecated_finders (1.0.3)
|
36
|
-
activesupport (4.0.
|
20
|
+
activesupport (4.0.1)
|
37
21
|
i18n (~> 0.6, >= 0.6.4)
|
38
22
|
minitest (~> 4.2)
|
39
23
|
multi_json (~> 1.3)
|
@@ -41,10 +25,10 @@ GEM
|
|
41
25
|
tzinfo (~> 0.3.37)
|
42
26
|
arel (4.0.1)
|
43
27
|
atomic (1.1.14)
|
44
|
-
atomic (1.1.14-java)
|
45
28
|
builder (3.1.4)
|
46
29
|
coderay (1.0.9)
|
47
|
-
|
30
|
+
database_cleaner (1.2.0)
|
31
|
+
ffi (1.9.3-java)
|
48
32
|
i18n (0.6.5)
|
49
33
|
json (1.8.1)
|
50
34
|
json (1.8.1-java)
|
@@ -73,8 +57,6 @@ GEM
|
|
73
57
|
sqlite3 (1.3.7)
|
74
58
|
thread_safe (0.1.3)
|
75
59
|
atomic
|
76
|
-
thread_safe (0.1.3-java)
|
77
|
-
atomic
|
78
60
|
tzinfo (0.3.38)
|
79
61
|
|
80
62
|
PLATFORMS
|
@@ -82,11 +64,10 @@ PLATFORMS
|
|
82
64
|
ruby
|
83
65
|
|
84
66
|
DEPENDENCIES
|
85
|
-
database_cleaner
|
67
|
+
database_cleaner (>= 1.2.0)
|
86
68
|
globalize!
|
87
69
|
minitest
|
88
70
|
minitest-colorize
|
89
|
-
paper_trail!
|
90
71
|
pry
|
91
72
|
pry-nav
|
92
73
|
rake
|
data/lib/globalize.rb
CHANGED
@@ -2,7 +2,6 @@ require 'active_record'
|
|
2
2
|
require 'patches/active_record/xml_attribute_serializer'
|
3
3
|
require 'patches/active_record/query_method'
|
4
4
|
require 'patches/active_record/uniqueness_validator'
|
5
|
-
require 'patches/active_record/relation'
|
6
5
|
|
7
6
|
module Globalize
|
8
7
|
autoload :ActiveRecord, 'globalize/active_record'
|
@@ -8,6 +8,6 @@ module Globalize
|
|
8
8
|
autoload :InstanceMethods, 'globalize/active_record/instance_methods'
|
9
9
|
autoload :Migration, 'globalize/active_record/migration'
|
10
10
|
autoload :Translation, 'globalize/active_record/translation'
|
11
|
-
autoload :
|
11
|
+
autoload :QueryMethods, 'globalize/active_record/query_methods'
|
12
12
|
end
|
13
13
|
end
|
@@ -58,16 +58,6 @@ module Globalize
|
|
58
58
|
"#{translation_class.table_name}.#{name}"
|
59
59
|
end
|
60
60
|
|
61
|
-
def relation
|
62
|
-
relation = Relation.new(self, arel_table)
|
63
|
-
|
64
|
-
if finder_needs_type_condition?
|
65
|
-
relation.where(type_condition).create_with(inheritance_column.to_sym => sti_name)
|
66
|
-
else
|
67
|
-
relation
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
61
|
def respond_to_missing?(method_id, include_private = false)
|
72
62
|
supported_on_missing?(method_id) || super
|
73
63
|
end
|
@@ -135,7 +125,16 @@ module Globalize
|
|
135
125
|
record
|
136
126
|
end
|
137
127
|
|
138
|
-
|
128
|
+
private
|
129
|
+
|
130
|
+
# Override the default relation method in order to return a subclass
|
131
|
+
# of ActiveRecord::Relation with custom finder methods for translated
|
132
|
+
# attributes.
|
133
|
+
def relation
|
134
|
+
super.extending!(QueryMethods)
|
135
|
+
end
|
136
|
+
|
137
|
+
protected
|
139
138
|
|
140
139
|
def translated_attr_accessor(name)
|
141
140
|
define_method(:"#{name}=") do |value|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Globalize
|
2
2
|
module ActiveRecord
|
3
|
-
|
3
|
+
module QueryMethods
|
4
4
|
|
5
5
|
attr_accessor :translations_reload_needed
|
6
6
|
|
@@ -8,7 +8,7 @@ module Globalize
|
|
8
8
|
def not(opts, *rest)
|
9
9
|
if parsed = @scope.parse_translated_conditions(opts)
|
10
10
|
@scope.translations_reload_needed = true
|
11
|
-
@scope.
|
11
|
+
@scope.with_translations_in_fallbacks.where.not(parsed, *rest)
|
12
12
|
else
|
13
13
|
super
|
14
14
|
end
|
@@ -20,7 +20,7 @@ module Globalize
|
|
20
20
|
WhereChain.new(spawn)
|
21
21
|
elsif parsed = parse_translated_conditions(opts)
|
22
22
|
self.translations_reload_needed = true
|
23
|
-
super(parsed, *rest).
|
23
|
+
super(parsed, *rest).with_translations_in_fallbacks
|
24
24
|
else
|
25
25
|
super
|
26
26
|
end
|
@@ -28,7 +28,7 @@ module Globalize
|
|
28
28
|
|
29
29
|
def exists?(conditions = :none)
|
30
30
|
if parsed = parse_translated_conditions(conditions)
|
31
|
-
|
31
|
+
with_translations_in_fallbacks.exists?(parsed)
|
32
32
|
else
|
33
33
|
super
|
34
34
|
end
|
@@ -47,8 +47,8 @@ module Globalize
|
|
47
47
|
END_RUBY
|
48
48
|
end
|
49
49
|
|
50
|
-
def
|
51
|
-
with_translations(Globalize.
|
50
|
+
def with_translations_in_fallbacks
|
51
|
+
with_translations(Globalize.fallbacks)
|
52
52
|
end
|
53
53
|
|
54
54
|
def parse_translated_conditions(opts)
|
@@ -58,6 +58,19 @@ module Globalize
|
|
58
58
|
opts
|
59
59
|
end
|
60
60
|
end
|
61
|
+
|
62
|
+
def where_values_hash
|
63
|
+
equalities = with_default_scope.where_values.grep(Arel::Nodes::Equality).find_all { |node|
|
64
|
+
node.left.relation.name == translations_table_name
|
65
|
+
}
|
66
|
+
|
67
|
+
binds = Hash[bind_values.find_all(&:first).map { |column, v| [column.name, v] }]
|
68
|
+
|
69
|
+
super.merge(Hash[equalities.map { |where|
|
70
|
+
name = where.left.name
|
71
|
+
[name, binds.fetch(name.to_s) { where.right }]
|
72
|
+
}])
|
73
|
+
end
|
61
74
|
end
|
62
75
|
end
|
63
76
|
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: 4.0.0.alpha.
|
4
|
+
version: 4.0.0.alpha.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-
|
17
|
+
date: 2013-12-18 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
20
|
name: activerecord
|
@@ -155,7 +155,7 @@ files:
|
|
155
155
|
- lib/globalize/active_record/exceptions.rb
|
156
156
|
- lib/globalize/active_record/instance_methods.rb
|
157
157
|
- lib/globalize/active_record/migration.rb
|
158
|
-
- lib/globalize/active_record/
|
158
|
+
- lib/globalize/active_record/query_methods.rb
|
159
159
|
- lib/globalize/active_record/translation.rb
|
160
160
|
- lib/globalize/active_record.rb
|
161
161
|
- lib/globalize/interpolation.rb
|
@@ -165,7 +165,6 @@ files:
|
|
165
165
|
- lib/i18n/missing_translations_log_handler.rb
|
166
166
|
- lib/i18n/missing_translations_raise_handler.rb
|
167
167
|
- lib/patches/active_record/query_method.rb
|
168
|
-
- lib/patches/active_record/relation.rb
|
169
168
|
- lib/patches/active_record/uniqueness_validator.rb
|
170
169
|
- lib/patches/active_record/xml_attribute_serializer.rb
|
171
170
|
- Gemfile
|
@@ -192,7 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
192
191
|
version: 1.3.1
|
193
192
|
requirements: []
|
194
193
|
rubyforge_project: '[none]'
|
195
|
-
rubygems_version: 2.
|
194
|
+
rubygems_version: 2.0.14
|
196
195
|
signing_key:
|
197
196
|
specification_version: 4
|
198
197
|
summary: Rails I18n de-facto standard library for ActiveRecord model/data translation
|
@@ -1,20 +0,0 @@
|
|
1
|
-
module ActiveRecord
|
2
|
-
class Relation
|
3
|
-
if ::ActiveRecord::VERSION::STRING >= "3.2.1"
|
4
|
-
def where_values_hash
|
5
|
-
_translations_table_name = klass.respond_to?(:translations_table_name) ? klass.translations_table_name : nil
|
6
|
-
|
7
|
-
equalities = with_default_scope.where_values.grep(Arel::Nodes::Equality).find_all { |node|
|
8
|
-
[table_name, _translations_table_name].compact.include? node.left.relation.name
|
9
|
-
}
|
10
|
-
|
11
|
-
binds = Hash[bind_values.find_all(&:first).map { |column, v| [column.name, v] }]
|
12
|
-
|
13
|
-
Hash[equalities.map { |where|
|
14
|
-
name = where.left.name
|
15
|
-
[name, binds.fetch(name.to_s) { where.right } ]
|
16
|
-
}].with_indifferent_access
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|