extended_joins_impl 0.0.2 → 0.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: 176175342f56543e6c120a7ffe6cd20b724ce18c
4
- data.tar.gz: 1f3e8e7cbef0d065be7270ebd15a8dcdd2972c61
3
+ metadata.gz: 2dce719cbfac8324b50d1cfb1b6435cdcc6b9743
4
+ data.tar.gz: 8dc129e90dd5c86ea54535532208e6c9ebbd2180
5
5
  SHA512:
6
- metadata.gz: 4fe86f47f07af0f4adf566a57ae616235aae29f135cd220443eca8c24ddab12d71ebddfa123b72ef7ed983d4e437eb147f104c2b0bc90fd5af0ca89764d822f6
7
- data.tar.gz: 2614a5e9d6c9f9f8c7f94d2d9593ef7e16b447af0d3e61ed1bdf4ac412302559f343b4b963334112c4a2248ff6e00599b5c8b34cdef07a5570bb834071312c89
6
+ metadata.gz: 14c06ab1463e761a0aa2c828ba40428e480e10a21a7ecb089f6348fee60076a17b1945c08d203e35abb7e03a811636fb416304004127043da46500d954b9157b
7
+ data.tar.gz: c621f70223f86459eb38bf0ec77ba26e027f04d947aa6f85c8cdeb2389765ab3a4892e7d6281eaa698d6db27b46bcfa1e28770e262d7564f3a68ba2f68dea584
@@ -1,3 +1,3 @@
1
1
  module ExtendedJoinsImpl
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -48,7 +48,9 @@ module ExtendedJoinsImpl
48
48
  end
49
49
 
50
50
  module ActiveRecord
51
- class Relation
52
- include ExtendedJoinsImpl
51
+ class Base
52
+ class << self
53
+ include ExtendedJoinsImpl
54
+ end
53
55
  end
54
56
  end
@@ -5,39 +5,55 @@ require 'extended_joins_impl'
5
5
  describe ExtendedJoinsImpl do
6
6
 
7
7
  it "inner join" do
8
- sql = User.where(nil).extended_joins(:inner, Type.where(nil)).to_sql
8
+ sql = if ActiveRecord::VERSION::MAJOR >= 4
9
+ User.extended_joins(:inner, Type.all).to_sql
10
+ else
11
+ User.extended_joins(:inner, Type.scoped).to_sql
12
+ end
9
13
  expect(sql).to include "INNER JOIN"
10
14
  expect(sql).to include "\"users\".\"type_id\" = types.\"id\""
11
15
  end
12
16
 
13
17
  it "left outer join" do
14
- sql = User.where(nil).extended_joins(:outer, Type.where(nil)).to_sql
18
+ sql = if ActiveRecord::VERSION::MAJOR >= 4
19
+ User.extended_joins(:outer, Type.all).to_sql
20
+ else
21
+ User.extended_joins(:outer, Type.scoped).to_sql
22
+ end
15
23
  expect(sql).to include "LEFT OUTER JOIN"
16
24
  expect(sql).to include "\"users\".\"type_id\" = types.\"id\""
17
25
  end
18
26
 
19
27
  it "subquery join" do
20
- sql = User.where(nil).extended_joins(:outer, Type.where(id: 3)).to_sql
28
+ sql = User.extended_joins(:outer, Type.where(id: 3)).to_sql
21
29
  expect(sql).to include "LEFT OUTER JOIN"
22
30
  expect(sql).to include "\"users\".\"type_id\" = types.\"id\""
23
31
  expect(sql).to include "WHERE \"types\".\"id\" = 3"
24
32
  end
25
33
 
26
34
  it "join alias" do
27
- sql = User.where(nil).extended_joins(:outer, Type.where(id: 3), as: "user_types").to_sql
35
+ sql = User.extended_joins(:outer, Type.where(id: 3), as: "user_types").to_sql
28
36
  expect(sql).to include "LEFT OUTER JOIN"
29
37
  expect(sql).to include "\"users\".\"type_id\" = user_types.\"id\""
30
38
  expect(sql).to include "WHERE \"types\".\"id\" = 3"
31
39
  end
32
40
 
33
41
  it "join on condition" do
34
- sql = User.where(nil).extended_joins(:inner, Note.where(nil), on: {code: :user_code}).to_sql
42
+ sql = if ActiveRecord::VERSION::MAJOR >= 4
43
+ User.extended_joins(:inner, Note.all, on: {code: :user_code}).to_sql
44
+ else
45
+ User.extended_joins(:inner, Note.scoped, on: {code: :user_code}).to_sql
46
+ end
35
47
  expect(sql).to include "INNER JOIN"
36
48
  expect(sql).to include "\"users\".\"code\" = notes.\"user_code\""
37
49
  end
38
50
 
39
51
  it "join on constant" do
40
- sql = User.where(nil).extended_joins(:inner, Note.where(nil), where: {id: 3, user_code: 4}).to_sql
52
+ sql = if ActiveRecord::VERSION::MAJOR >= 4
53
+ User.extended_joins(:inner, Note.all, where: {id: 3, user_code: 4}).to_sql
54
+ else
55
+ User.extended_joins(:inner, Note.scoped, where: {id: 3, user_code: 4}).to_sql
56
+ end
41
57
  expect(sql).to include "INNER JOIN"
42
58
  expect(sql).to include "\"users\".\"id\" = notes.\"user_id\""
43
59
  expect(sql).to include "notes.\"id\" = 3"
@@ -45,7 +61,11 @@ describe ExtendedJoinsImpl do
45
61
  end
46
62
 
47
63
  it "join with association" do
48
- sql = User.where(nil).extended_joins(:inner, Note.where(nil), as: "user_notes").to_sql
64
+ sql = if ActiveRecord::VERSION::MAJOR >= 4
65
+ User.extended_joins(:inner, Note.all, as: "user_notes").to_sql
66
+ else
67
+ User.extended_joins(:inner, Note.scoped, as: "user_notes").to_sql
68
+ end
49
69
  expect(sql).to include "INNER JOIN"
50
70
  expect(sql).to include "\"users\".\"code\" = user_notes.\"user_code\""
51
71
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: extended_joins_impl
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - MnrUchida
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-29 00:00:00.000000000 Z
11
+ date: 2015-01-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler