activerecord-pedantmysql2-adapter 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: 36d70ac399667562de94a24e296acf7354654757
4
- data.tar.gz: f12af9c6d3ba61df645847680497c2de2488ad0c
3
+ metadata.gz: df26d0bd1e7762f5394a6bbb0268f3c450c3802e
4
+ data.tar.gz: 0b3b997d9687a4bbad0b0b672e06406a6902c63e
5
5
  SHA512:
6
- metadata.gz: 35e62a5b6e66e8fe9a9ac3df96ec428701b2623cda9874a073e3950e5f50169493412f13f73391561a53ec68e652bea45f1e83f664ba0752aee3ad4e6bf304ef
7
- data.tar.gz: 4ef14253e3b99caaabc619f95f0814bcad7ddfa9b6cc0d39a138695cac73b8a6bf3a8a3f2c5eff148b1b2a2ff2c5f46af25c08c3d82202c8aa44815b9d3a6827
6
+ metadata.gz: ce22c43b5e38358782c96c0ae9989b07e20e395a1d821c7605a374cb9d507c8c136d085b00debb66080e7a18b6697ead0513125b8c16212681ae5b7de434b205
7
+ data.tar.gz: 90c27520d20f79dc3b1a7ec97fce529fe85915414ebe14c823064edf040140340662e10b8e6507c7bed4780427b52afe11f520c97cd2a3ac14922e49fd4e0be8
data/.travis.yml ADDED
@@ -0,0 +1,7 @@
1
+ rvm:
2
+ - 1.9.3
3
+ - 2.0.0
4
+ - 2.1.2
5
+
6
+ before_script:
7
+ - mysql -e 'create database pedant_mysql2_test;'
data/README.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Activerecord::PedantMysql2
2
2
 
3
+ [![Build Status](https://secure.travis-ci.org/Shopify/activerecord-pedantmysql2-adapter.png)](http://travis-ci.org/Shopify/activerecord-pedantmysql2-adapter)
4
+ [![Code Climate](https://codeclimate.com/github/Shopify/activerecord-pedantmysql2-adapter.png)](https://codeclimate.com/github/Shopify/activerecord-pedantmysql2-adapter)
5
+ [![Coverage Status](https://coveralls.io/repos/Shopify/activerecord-pedantmysql2-adapter/badge.png)](https://coveralls.io/r/Shopify/activerecord-pedantmysql2-adapter)
6
+ [![Gem Version](https://badge.fury.io/rb/activerecord-pedantmysql2-adapter.png)](http://badge.fury.io/rb/activerecord-pedantmysql2-adapter)
7
+
8
+
3
9
  ActiveRecord adapter for MySQL that report warnings.
4
10
 
5
11
  The main usage is to progressively identify and fix MySQL warnings generated by legacy rails applications, and ultimately enable strict mode.
@@ -51,7 +57,7 @@ end
51
57
 
52
58
  ## Contributing
53
59
 
54
- 1. Fork it ( http://github.com/<my-github-username>/activerecord-pedantmysql2-adapter/fork )
60
+ 1. Fork it ( http://github.com/Shopify/activerecord-pedantmysql2-adapter/fork )
55
61
  2. Create your feature branch (`git checkout -b my-new-feature`)
56
62
  3. Commit your changes (`git commit -am 'Add some feature'`)
57
63
  4. Push to the branch (`git push origin my-new-feature`)
data/Rakefile CHANGED
@@ -1 +1,6 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler/gem_tasks'
2
+ require 'rspec/core/rake_task'
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -22,4 +22,6 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency 'mysql2', '>= 0.3.11'
23
23
  spec.add_development_dependency 'bundler', '~> 1.5'
24
24
  spec.add_development_dependency 'rake'
25
+ spec.add_development_dependency 'rspec'
26
+ spec.add_development_dependency 'coveralls'
25
27
  end
@@ -39,12 +39,23 @@ end
39
39
 
40
40
  class ActiveRecord::ConnectionAdapters::PedantMysql2Adapter < ActiveRecord::ConnectionAdapters::Mysql2Adapter
41
41
 
42
+ alias_method :original_execute, :execute
43
+
42
44
  def execute(sql, name = nil)
43
45
  value = super
44
46
  log_warnings(sql)
45
47
  value
46
48
  end
47
49
 
50
+ def exec_delete(sql, name, binds)
51
+ original_execute to_sql(sql, binds), name
52
+ affected_rows = @connection.affected_rows
53
+ log_warnings(sql)
54
+ affected_rows
55
+ end
56
+
57
+ alias :exec_update :exec_delete
58
+
48
59
  private
49
60
 
50
61
  def log_warnings(sql)
@@ -1,3 +1,3 @@
1
1
  module PedantMysql2
2
- VERSION = "0.0.2"
2
+ VERSION = '0.0.3'
3
3
  end
@@ -0,0 +1 @@
1
+ # using the default shipit config
data/spec/adapter_spec.rb CHANGED
@@ -5,6 +5,9 @@ describe PedantMysql2 do
5
5
  let(:connection) { ActiveRecord::Base.connection }
6
6
 
7
7
  before :each do
8
+ connection.execute('SET SESSION binlog_format = "STATEMENT"')
9
+ connection.execute('CREATE TABLE IF NOT EXISTS comment (id int)')
10
+ connection.execute('TRUNCATE TABLE comment')
8
11
  @original_callback = PedantMysql2.on_warning
9
12
  end
10
13
 
@@ -23,6 +26,16 @@ describe PedantMysql2 do
23
26
  expect(result.to_a).to be == [[1.0]]
24
27
  end
25
28
 
29
+ it 'do not change the returned value of exec_update' do
30
+ result = connection.update('UPDATE comment SET id = 1 LIMIT 1')
31
+ expect(result).to be_zero
32
+ end
33
+
34
+ it 'do not change the returned value of exec_delete' do
35
+ result = connection.delete('DELETE FROM comment LIMIT 1')
36
+ expect(result).to be_zero
37
+ end
38
+
26
39
  it 'can easily be raised' do
27
40
  PedantMysql2.on_warning = lambda { |warning| raise warning }
28
41
  expect {
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,14 @@
1
1
  lib = File.expand_path('../lib', __FILE__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ require 'simplecov'
5
+ require 'coveralls'
6
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
7
+ SimpleCov::Formatter::HTMLFormatter,
8
+ Coveralls::SimpleCov::Formatter
9
+ ]
10
+ SimpleCov.start
11
+
3
12
  require 'activerecord-pedantmysql2-adapter'
4
13
 
5
14
  Dir[File.expand_path(File.join(File.dirname(__FILE__), 'support', '**', '*.rb'))].each { |f| require f }
@@ -2,9 +2,7 @@ ActiveRecord::Base.configurations = {
2
2
  'test' => {
3
3
  adapter: 'pedant_mysql2',
4
4
  database: 'pedant_mysql2_test',
5
- username: nil,
6
- port: '13306',
7
- host: '127.0.0.1',
5
+ username: 'travis',
8
6
  encoding: 'utf8',
9
7
  strict: false,
10
8
  },
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-pedantmysql2-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jean Boussier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-20 00:00:00.000000000 Z
11
+ date: 2014-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: coveralls
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  description: Gives a hook on MySQL warnings that allow you to either raise or log
70
98
  them.
71
99
  email:
@@ -76,6 +104,7 @@ extra_rdoc_files: []
76
104
  files:
77
105
  - ".gitignore"
78
106
  - ".rspec"
107
+ - ".travis.yml"
79
108
  - Gemfile
80
109
  - LICENSE.txt
81
110
  - README.md
@@ -85,6 +114,7 @@ files:
85
114
  - lib/activerecord-pedantmysql2-adapter.rb
86
115
  - lib/pedant_mysql2.rb
87
116
  - lib/pedant_mysql2/version.rb
117
+ - shipit.rubygems.yml
88
118
  - spec/adapter_spec.rb
89
119
  - spec/spec_helper.rb
90
120
  - spec/support/database.rb