shiba 0.8.1 → 0.9.0

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: 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: