composite_primary_keys 4.0.0.beta5 → 4.0.0.beta6
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/History.txt
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
== 4.0.0.beta6 2011-07-26
|
2
|
+
* Compatible with Rails 3.1 RC5 (TycoooN)
|
3
|
+
* Do not use Arel::Nodes::Or to combine predicates because it creates a
|
4
|
+
deeply nested stack that blows up.
|
5
|
+
|
1
6
|
== 4.0.0.beta4 2011-07-22
|
2
7
|
* Compatible with Rails 3.1 stable branch. No longer works with RC4 (Charlie Savage)
|
3
8
|
* Do not require loading of postgresql gem unless needed (Charlie Savage)
|
@@ -9,11 +9,11 @@ module CompositePrimaryKeys
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def cpk_or_predicate(predicates)
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
12
|
+
# Can't do or here, arel does the wrong thing and makes a really
|
13
|
+
# deeply nested stack that blows up
|
14
|
+
predicates.map do |predicate|
|
15
|
+
predicate.to_sql
|
16
|
+
end.join(" OR ")
|
17
17
|
end
|
18
18
|
|
19
19
|
def cpk_id_predicate(table, keys, values)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'abstract_unit'
|
2
|
+
|
3
|
+
class TestEqual < ActiveSupport::TestCase
|
4
|
+
fixtures :departments
|
5
|
+
|
6
|
+
include CompositePrimaryKeys::Predicates
|
7
|
+
|
8
|
+
def test_or
|
9
|
+
dep = Arel::Table.new(:departments)
|
10
|
+
|
11
|
+
predicates = Array.new
|
12
|
+
|
13
|
+
5.times do |i|
|
14
|
+
predicates << dep[:id].eq(i)
|
15
|
+
end
|
16
|
+
|
17
|
+
pred = cpk_or_predicate(predicates)
|
18
|
+
assert_equal('"departments"."id" = 0 OR "departments"."id" = 1 OR "departments"."id" = 2 OR "departments"."id" = 3 OR "departments"."id" = 4',
|
19
|
+
pred)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_and
|
23
|
+
dep = Arel::Table.new(:departments)
|
24
|
+
|
25
|
+
predicates = Array.new
|
26
|
+
|
27
|
+
5.times do |i|
|
28
|
+
predicates << dep[:id].eq(i)
|
29
|
+
end
|
30
|
+
|
31
|
+
pred = cpk_and_predicate(predicates)
|
32
|
+
assert_equal('"departments"."id" = 0 AND "departments"."id" = 1 AND "departments"."id" = 2 AND "departments"."id" = 3 AND "departments"."id" = 4',
|
33
|
+
pred.to_sql)
|
34
|
+
end
|
35
|
+
end
|
data/test/test_suite.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: composite_primary_keys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 62196271
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 4
|
8
8
|
- 0
|
9
9
|
- 0
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 4.0.0.
|
11
|
+
- 6
|
12
|
+
version: 4.0.0.beta6
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Dr Nic Williams
|
@@ -26,16 +26,16 @@ dependencies:
|
|
26
26
|
requirement: &id001 !ruby/object:Gem::Requirement
|
27
27
|
none: false
|
28
28
|
requirements:
|
29
|
-
- -
|
29
|
+
- - "="
|
30
30
|
- !ruby/object:Gem::Version
|
31
|
-
hash:
|
31
|
+
hash: 15424111
|
32
32
|
segments:
|
33
33
|
- 3
|
34
34
|
- 1
|
35
35
|
- 0
|
36
36
|
- rc
|
37
|
-
-
|
38
|
-
version: 3.1.0.
|
37
|
+
- 5
|
38
|
+
version: 3.1.0.rc5
|
39
39
|
type: :runtime
|
40
40
|
version_requirements: *id001
|
41
41
|
description: Composite key support for ActiveRecord 3
|
@@ -184,6 +184,7 @@ files:
|
|
184
184
|
- test/test_miscellaneous.rb
|
185
185
|
- test/test_pagination.rb
|
186
186
|
- test/test_polymorphic.rb
|
187
|
+
- test/test_predicates.rb
|
187
188
|
- test/test_santiago.rb
|
188
189
|
- test/test_suite.rb
|
189
190
|
- test/test_tutorial_example.rb
|
@@ -248,6 +249,7 @@ test_files:
|
|
248
249
|
- test/test_miscellaneous.rb
|
249
250
|
- test/test_pagination.rb
|
250
251
|
- test/test_polymorphic.rb
|
252
|
+
- test/test_predicates.rb
|
251
253
|
- test/test_santiago.rb
|
252
254
|
- test/test_suite.rb
|
253
255
|
- test/test_tutorial_example.rb
|