sqlstmt 0.1.17 → 0.1.18
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/sqlstmt/query.rb +3 -2
- data/test/insert_select.dt.rb +7 -7
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c0c075a57960cfa09c3f617d9a435a356240fe0
|
4
|
+
data.tar.gz: 97465a965088a0a908e91c6c5aa2bca069421dab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4fc17869d8634ee334dc4f361619d52ac0ba30807e51aa4b86b042a4194868b342eaaeaa956e83fe991caf9e0402b0e199a0416444ac8514359a344ea890c8ed
|
7
|
+
data.tar.gz: 39003adffb3527cffbc444adbbf62473c995688ded90ae42d997483772824ae5a85d5fe96917787fa86cbefdbfbcc36913f71ec2abc23c2ddf558a3e98838cd7
|
data/lib/sqlstmt/query.rb
CHANGED
@@ -26,7 +26,7 @@ class Query
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def optional_join(table, expr)
|
29
|
-
unless
|
29
|
+
unless has_join_or_table?(table)
|
30
30
|
join(table, expr)
|
31
31
|
end
|
32
32
|
end
|
@@ -67,7 +67,8 @@ class Query
|
|
67
67
|
end
|
68
68
|
|
69
69
|
private
|
70
|
-
def
|
70
|
+
def has_join_or_table?(table_to_find)
|
71
|
+
return true if @tables.include?(table_to_find)
|
71
72
|
@joins.find do |_, table, _|
|
72
73
|
table_to_find == table
|
73
74
|
end
|
data/test/insert_select.dt.rb
CHANGED
@@ -4,18 +4,18 @@ module SqlStmt
|
|
4
4
|
|
5
5
|
class TestInsertSelect < DohTest::TestGroup
|
6
6
|
def test_minimum_requirements
|
7
|
-
assert_raises(SqlStmt::Error) { InsertSelect.new.
|
8
|
-
assert_raises(SqlStmt::Error) { InsertSelect.new.
|
9
|
-
assert_raises(SqlStmt::Error) { InsertSelect.new.
|
7
|
+
assert_raises(SqlStmt::Error) { InsertSelect.new.insert_into('target').to_s }
|
8
|
+
assert_raises(SqlStmt::Error) { InsertSelect.new.insert_into('target').no_where.to_s }
|
9
|
+
assert_raises(SqlStmt::Error) { InsertSelect.new.insert_into('target').no_where.field('blah', 'blee').to_s }
|
10
10
|
end
|
11
11
|
|
12
12
|
def test_simple
|
13
|
-
assert_equal('INSERT INTO target (blah) SELECT blee FROM source', InsertSelect.new.
|
14
|
-
assert_equal('INSERT INTO target (blah) SELECT blee FROM source WHERE source_id = 1', InsertSelect.new.
|
13
|
+
assert_equal('INSERT INTO target (blah) SELECT blee FROM source', InsertSelect.new.insert_into('target').table('source').field('blah', 'blee').no_where.to_s)
|
14
|
+
assert_equal('INSERT INTO target (blah) SELECT blee FROM source WHERE source_id = 1', InsertSelect.new.insert_into('target').table('source').field('blah', 'blee').where('source_id = 1').to_s)
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_dup
|
18
|
-
shared_builder = SqlStmt::InsertSelect.new.
|
18
|
+
shared_builder = SqlStmt::InsertSelect.new.insert_into('target')
|
19
19
|
first_builder = shared_builder
|
20
20
|
other_builder = shared_builder.dup
|
21
21
|
|
@@ -33,7 +33,7 @@ class TestInsertSelect < DohTest::TestGroup
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def test_complex
|
36
|
-
shared_builder = SqlStmt::InsertSelect.new.
|
36
|
+
shared_builder = SqlStmt::InsertSelect.new.insert_into('target')
|
37
37
|
shared_builder.table('shared_tbl')
|
38
38
|
shared_builder.field('created_at', 'NOW()').field('duration', 5).fieldq('is_bad', 'b')
|
39
39
|
|
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.
|
4
|
+
version: 0.1.18
|
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-
|
12
|
+
date: 2013-10-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: dohutil
|
@@ -85,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
85
85
|
version: '0'
|
86
86
|
requirements: []
|
87
87
|
rubyforge_project:
|
88
|
-
rubygems_version: 2.0.
|
88
|
+
rubygems_version: 2.0.6
|
89
89
|
signing_key:
|
90
90
|
specification_version: 4
|
91
91
|
summary: build SQL statements in a modular fashion, one piece at a time
|