mysql_framework 1.0.1 → 1.1.0

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
  SHA256:
3
- metadata.gz: 8f72d2ccd3b6849999fad62a3227113b89eb3d82bb3027a8248e63ed10cc217a
4
- data.tar.gz: 295620bd5d48b3d49aef37b7ebaa0e24765a5920dde18237efa305080ff7f696
3
+ metadata.gz: c803b7020c3d65742c29d1e354945c61cf1c097fccd13e6ec25861410ea2d5af
4
+ data.tar.gz: b0a3ca6bf7946c34cce87aa797ffb6d91a5bf65e42cdb0092d990fc6f42f327d
5
5
  SHA512:
6
- metadata.gz: 415c20462029d705dbc62dfc5268e50d56e42ac483da91324f9b931b44bcdabf4ae953d8a3886dcc1787e6e00c538e5241ab0707bfd8563cace146eff7057b97
7
- data.tar.gz: dd434df3036490387a806b55c630f34f5a782be8ebf3034aa484e3d40a95fdd9a1f1f1cbc3dd5ebac0bc64bcb3ce15d5d221c8abe91ed432ce02d33a804f2d18
6
+ metadata.gz: 576b1afe0fc7469168de50cb94a705efe00e565f7057fc72e3a41a44bd7a8cdff9187fcd1d0ec22298e56c4c5452eaa3eb3b62c858225d16eef6e77512fe915d
7
+ data.tar.gz: c90070d20e9cf952dc0d395833f35dfa4d330756023242d0d997ccd3216ad9a1eca23f535cba65efcb4e7e665d851b9e6237ecfe882ab09473b53d922f6e9978
@@ -76,6 +76,19 @@ module MysqlFramework
76
76
  self
77
77
  end
78
78
 
79
+ # This method is called to specify the columns to bulk upsert.
80
+ def bulk_upsert(columns)
81
+ @sql += 'ON DUPLICATE KEY UPDATE '
82
+
83
+ columns.each do |column|
84
+ @sql += "#{column} = VALUES(#{column}), "
85
+ end
86
+
87
+ @sql = @sql.chomp(', ')
88
+
89
+ self
90
+ end
91
+
79
92
  # This method is called to specify the columns to update.
80
93
  def set(values)
81
94
  @sql += ' SET '
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MysqlFramework
4
- VERSION = '1.0.1'
4
+ VERSION = '1.1.0'
5
5
  end
@@ -139,6 +139,16 @@ describe MysqlFramework::SqlQuery do
139
139
  end
140
140
  end
141
141
 
142
+ describe '#bulk_upsert' do
143
+ it 'sets the sql for the upsert statement' do
144
+ columns = %w(column_1 column_2)
145
+
146
+ subject.bulk_upsert(columns)
147
+
148
+ expect(subject.sql).to eq('ON DUPLICATE KEY UPDATE column_1 = VALUES(column_1), column_2 = VALUES(column_2)')
149
+ end
150
+ end
151
+
142
152
  describe '#set' do
143
153
  it 'sets the sql for the set statement' do
144
154
  subject.set(name: 'mysql_framework', author: 'sage', created_at: '2016-06-28 10:00:00')
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: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sage
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-11 00:00:00.000000000 Z
11
+ date: 2019-06-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -150,7 +150,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
150
150
  - !ruby/object:Gem::Version
151
151
  version: '0'
152
152
  requirements: []
153
- rubygems_version: 3.0.3
153
+ rubygems_version: 3.0.4
154
154
  signing_key:
155
155
  specification_version: 4
156
156
  summary: A lightweight framework to provide managers for working with MySQL.