shiba 0.8.1 → 0.9.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
  SHA1:
3
- metadata.gz: f6dbcdad59562d6337cf6357012a6d7e9e08b1c1
4
- data.tar.gz: 6583e1f52e1d3ba5f28ed41202b03e9bf6f92124
3
+ metadata.gz: f1ef713e70ede38016a29c88d84483617e07311d
4
+ data.tar.gz: 4ecd2b966d49746718ae8a7100b3ef66a5485d3b
5
5
  SHA512:
6
- metadata.gz: 4612ff6c2cdb56c0ab24ed6bd0c938bbb035de7b881b68cf12ef71fd0507152c26cb60600cd5c7e1a039419a5e83a0af65fdea8f57a0695ecaa88287d079091e
7
- data.tar.gz: 3aa4f8e1d74ae4c50e62fd604678ef1b25db1d4007519c9e4708a442039a913bd775d37a49f43db236fc7de44ae906f9b036d0fdd7967704e7113d4cc202e414
6
+ metadata.gz: 07d57fc1876fd08e51938b5d3e5b446551a0292b25604fb49619d20bb93b0c7cc13b0b180561eb6b8def2dc1bd283b347df810c7a2a5fb6662f3526736283bd9
7
+ data.tar.gz: 992343b80bb1bfecaa290d5dbf9a90fcf30f640a874c7c2184af165ea2edb54ab8aa9848f097175a1451baf93001bb966ff9512f35d2dad947df8c58861ccc23
data/Gemfile.lock CHANGED
@@ -1,10 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- shiba (0.8.1)
4
+ shiba (0.9.0)
5
5
  activesupport
6
- mysql2
7
- pg
8
6
 
9
7
  GEM
10
8
  remote: https://rubygems.org/
@@ -40,6 +38,8 @@ DEPENDENCIES
40
38
  activerecord
41
39
  bundler (~> 2.0)
42
40
  byebug
41
+ mysql2
42
+ pg
43
43
  rake (~> 10.0)
44
44
  shiba!
45
45
 
@@ -58,7 +58,7 @@ module Shiba
58
58
  watcher = QueryWatcher.new(file)
59
59
 
60
60
  ActiveSupport::Notifications.subscribe('sql.active_record', watcher)
61
- at_exit { run_explain(file, path) }
61
+ when_done { run_explain(file, path) }
62
62
  rescue => e
63
63
  $stderr.puts("Shiba failed to load")
64
64
  $stderr.puts(e.message, e.backtrace.join("\n"))
@@ -69,6 +69,26 @@ module Shiba
69
69
  File.join(Shiba.path, name)
70
70
  end
71
71
 
72
+ def self.when_done
73
+ return false if @done_hook
74
+
75
+ case
76
+ when defined?(Minitest.after_run)
77
+ MiniTest.after_run { yield }
78
+ @done_hook = :minitest
79
+ when defined?(RSpec.configure)
80
+ RSpec.configure do |config|
81
+ config.after(:suite) { yield }
82
+ end
83
+ @done_hook = :rspec
84
+ else
85
+ $stderr.puts "Warning: shiba could not find Minitest or RSpec."
86
+ $stderr.puts "If tests are running with one of these libraries, ensure shiba is required after them."
87
+ at_exit { yield }
88
+ @done_hook = :at_exit
89
+ end
90
+ end
91
+
72
92
  def self.run_explain(file, path)
73
93
  file.close
74
94
 
data/lib/shiba/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Shiba
2
- VERSION = "0.8.1"
2
+ VERSION = "0.9.0"
3
3
  end
data/shiba.gemspec CHANGED
@@ -36,8 +36,8 @@ Gem::Specification.new do |spec|
36
36
  spec.require_paths = ["lib"]
37
37
 
38
38
  spec.add_dependency "activesupport"
39
- spec.add_dependency "mysql2"
40
- spec.add_dependency "pg"
39
+ spec.add_development_dependency "mysql2"
40
+ spec.add_development_dependency "pg"
41
41
  spec.add_development_dependency "bundler", "~> 2.0"
42
42
  spec.add_development_dependency "rake", "~> 10.0"
43
43
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shiba
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Osheroff
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-03-13 00:00:00.000000000 Z
12
+ date: 2019-03-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -32,7 +32,7 @@ dependencies:
32
32
  - - ">="
33
33
  - !ruby/object:Gem::Version
34
34
  version: '0'
35
- type: :runtime
35
+ type: :development
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
@@ -46,7 +46,7 @@ dependencies:
46
46
  - - ">="
47
47
  - !ruby/object:Gem::Version
48
48
  version: '0'
49
- type: :runtime
49
+ type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements: