sqlstmt 0.1.20 → 0.1.21

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 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