mysql_framework 2.0.0 → 2.0.1
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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3694d868584973bdad19a924b7b50961e2c5fcca8ea45e7222605b5145152c24
|
4
|
+
data.tar.gz: d92fe8d7004501fab5e05cd0277f04287bafd3a2352439a1ec4fa5d2cedefe10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7c05de40f9bcecbbef52444d78a3d07cde007aa7122da4eebc94d411deee65e9805c42bf2f4ead59150668346108348eca7cb04e264aa36882e925a20bd8c60
|
7
|
+
data.tar.gz: abbc47dbbd4a95b3c3e1956089308b7e4f052185698cd36e00d0f887594e17e5491a5ee28e00988cabc24831b76e8a1c5e2ccc2d4fd0dc7517a4ac1bb8bf2598
|
@@ -120,11 +120,14 @@ module MysqlFramework
|
|
120
120
|
end
|
121
121
|
|
122
122
|
# This method is called to specify a where clause for a query.
|
123
|
+
#
|
124
|
+
# Condition values are added to @params unless the value is nil.
|
123
125
|
def where(*conditions)
|
124
126
|
@sql += ' WHERE' unless @sql.include?('WHERE')
|
125
127
|
@sql += " (#{conditions.join(' AND ')}) "
|
126
128
|
|
127
129
|
conditions.each do |condition|
|
130
|
+
next if condition.value.nil?
|
128
131
|
if condition.value.is_a?(Enumerable)
|
129
132
|
@params.concat(condition.value)
|
130
133
|
else
|
@@ -50,6 +50,19 @@ describe MysqlFramework::SqlQuery do
|
|
50
50
|
expect(subject.params).to eq(['9876'])
|
51
51
|
end
|
52
52
|
|
53
|
+
context 'when a select query contains conditions with nil values' do
|
54
|
+
it 'does not store them as parameters' do
|
55
|
+
subject.select('*')
|
56
|
+
.from(gems, 40)
|
57
|
+
.where(
|
58
|
+
MysqlFramework::SqlCondition.new(column: 'id', comparison: '=', value: 9876),
|
59
|
+
MysqlFramework::SqlCondition.new(column: 'foo', comparison: 'IS NOT NULL'),
|
60
|
+
)
|
61
|
+
expect(subject.sql).to eq('SELECT * FROM `gems` PARTITION (p40) WHERE (id = ? AND foo IS NOT NULL)')
|
62
|
+
expect(subject.params.size).to eq 1
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
53
66
|
it 'builds a joined select query as expected' do
|
54
67
|
subject.select('*')
|
55
68
|
.from(gems, 40)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mysql_framework
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sage
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|