infrataster-plugin-mysql 0.1.2 → 0.1.3

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: b5a4288520b4b2b337c312caa515c813380028cb
4
- data.tar.gz: a3349cb14b78bb88e4b3eaf74da4e690ec5410a8
3
+ metadata.gz: e8c86c8951f7d448315c546bacbe92db28886686
4
+ data.tar.gz: b628cd15324540c64a621e1c16c6edaca4b0ed23
5
5
  SHA512:
6
- metadata.gz: 2d282daef434f0011296e06116dc06012d0aca2c7ccb10075bdbbe2153ce0854b903ede1af6498a8aaaf05b404a4220a2937bdf45abaf18e7ad155dd26593eb4
7
- data.tar.gz: f989282816c82bf5dfe068f556d34bb58e617b2a8d259fc76452c6032be316b47460f537754ddc546bb900d34955761c61d66787d4d2f2df1f814f927d9e162f
6
+ metadata.gz: fe5b84d00a55a8e0c9a6fd1d6e1ef23a13398d0cf23b40b3cb7e4e9b366fddcd6b49a30cd47db5525830f8266c65dc0e965983a235ae53934f728b2467a250d6
7
+ data.tar.gz: ba6215dd523fd663936efdac8284150a118cc4c4b70755fcf11ed621da1ed2c8e65acb8c20bbea00c30b86ffc755a5bae414120d1276e8d8cb878f98770a21ed
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = "infrataster-plugin-mysql"
4
- spec.version = '0.1.2'
4
+ spec.version = '0.1.3'
5
5
  spec.authors = ["Ryota Arai"]
6
6
  spec.email = ["ryota.arai@gmail.com"]
7
7
  spec.summary = %q{MySQL plugin for Infrataster}
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
14
14
  spec.require_paths = ["lib"]
15
15
 
16
16
  spec.add_runtime_dependency "infrataster", "~> 0.2.6"
17
- spec.add_runtime_dependency "mysql2"
17
+ spec.add_runtime_dependency "mysql2-cs-bind"
18
18
 
19
19
  spec.add_development_dependency "bundler", "~> 1.6"
20
20
  spec.add_development_dependency "rake"
@@ -1,5 +1,5 @@
1
1
  require 'infrataster'
2
- require 'mysql2'
2
+ require 'mysql2-cs-bind'
3
3
 
4
4
  module Infrataster
5
5
  module Contexts
@@ -17,7 +17,7 @@ module Infrataster
17
17
  username: options[:user],
18
18
  password: options[:password],
19
19
  )
20
- client.query(resource.query)
20
+ client.xquery(resource.query, *resource.params)
21
21
  end
22
22
  end
23
23
  end
@@ -5,15 +5,16 @@ module Infrataster
5
5
  class MysqlQueryResource < BaseResource
6
6
  Error = Class.new(StandardError)
7
7
 
8
- attr_reader :query
8
+ attr_reader :query, :params
9
9
 
10
- def initialize(query, options = {})
10
+ def initialize(query, *args)
11
11
  @query = query
12
- @options = options
12
+ @options = args.last.is_a?(Hash) ? args.pop : {}
13
+ @params = args
13
14
  end
14
15
 
15
16
  def to_s
16
- "mysql '#{@query}'"
17
+ "mysql '#{@query}' with #{@params}"
17
18
  end
18
19
  end
19
20
  end
@@ -7,5 +7,13 @@ describe server(:db) do
7
7
  expect(row['Value'].to_i).to be > 0
8
8
  end
9
9
  end
10
+
11
+ describe mysql_query('SELECT User, Host FROM mysql.user WHERE User=? AND Host=?', 'app', '%') do
12
+ it 'binds arguments to query' do
13
+ row = results.first
14
+ expect(row['User']).to eq 'app'
15
+ expect(row['Host']).to eq '%'
16
+ end
17
+ end
10
18
  end
11
19
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infrataster-plugin-mysql
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryota Arai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-12 00:00:00.000000000 Z
11
+ date: 2015-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: infrataster
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.2.6
27
27
  - !ruby/object:Gem::Dependency
28
- name: mysql2
28
+ name: mysql2-cs-bind
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  requirements: []
127
127
  rubyforge_project:
128
- rubygems_version: 2.4.5
128
+ rubygems_version: 2.2.2
129
129
  signing_key:
130
130
  specification_version: 4
131
131
  summary: MySQL plugin for Infrataster