sqlstmt 0.1.20 → 0.1.21

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: eea31417385f00ff44f3de6c5b3f4189dee5fc1a
4
- data.tar.gz: 75f4bc36ea768d7adc4c22257edc46507d00928d
3
+ metadata.gz: 71856d6d6a16c77177845cdbf42d45f463820061
4
+ data.tar.gz: 8a45ed2aa1fd13dc9e25205973a7b45534ee5dd2
5
5
  SHA512:
6
- metadata.gz: 0c88c7be9a31bd556031b6caa3ea35f06f7f7f0d1b0056dad45b92bd2154a047b6ce511c94a95597916d49033db714b8108e5bdf43d05614c74b7f1f3d90f6d2
7
- data.tar.gz: 7ce5bfee85d705899e425970d9824885ca8007b7b3fba31c9f3f2dd240bce4e4bb3e5449a0a2e0e84af8cce0274e2fbaeccd35755f24bef7a084aaa718151224
6
+ metadata.gz: dc23412799b7caacfac2e2d7484e2f89f09ba18ae9729d26935a2cfe96f80c000eaeb71aeef45bb9253fc582dd590d621fc793ae7f8b9706e70a40637d99d890
7
+ data.tar.gz: b17eda5368198378d59a25cd2cec5e0f474af4acbe56819a7904aacb6df7fb769856e8e6a028311d0f91b4854b24699b808b4b2c2d35dedeb1596fc8433a7bf4
data/lib/sqlstmt/query.rb CHANGED
@@ -20,8 +20,8 @@ class Query
20
20
  self
21
21
  end
22
22
 
23
- def join(table, expr)
24
- @joins << ['JOIN', table, "ON #{expr}"]
23
+ def join(table, *exprs)
24
+ @joins << ['JOIN', table, "ON #{exprs.join(' AND ')}"]
25
25
  self
26
26
  end
27
27
 
@@ -36,8 +36,8 @@ class Query
36
36
  self
37
37
  end
38
38
 
39
- def left_join(table, expr)
40
- @joins << ['LEFT JOIN', table, "ON #{expr}"]
39
+ def left_join(table, *exprs)
40
+ @joins << ['LEFT JOIN', table, "ON #{exprs.join(' AND ')}"]
41
41
  self
42
42
  end
43
43
 
data/test/select.dt.rb CHANGED
@@ -42,6 +42,14 @@ class TestSelect < DohTest::TestGroup
42
42
  sqlb.optional_join('other o', 'z.blee_id = o.blee_id')
43
43
  assert_equal('SELECT frog FROM source s JOIN other o ON z.blee_id = o.blee_id', sqlb.to_s)
44
44
  end
45
+
46
+ def test_join_with_multiple_conditions
47
+ %i(join left_join).each do |method|
48
+ sqlb = Select.new.table('source s').field('frog').no_where.send(method, 'other o', 'z.blee_id = o.blee_id', 'z.other_field = o.other_field')
49
+ method_sql = method.to_s.upcase.sub('_', ' ')
50
+ assert_equal("SELECT frog FROM source s #{method_sql} other o ON z.blee_id = o.blee_id AND z.other_field = o.other_field", sqlb.to_s)
51
+ end
52
+ end
45
53
  end
46
54
 
47
55
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sqlstmt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.20
4
+ version: 0.1.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Makani Mason
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-10-28 00:00:00.000000000 Z
12
+ date: 2013-12-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: dohutil