spring_onion 1.0.5 → 1.1.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
  SHA256:
3
- metadata.gz: 639bf7cf4782c01ed75b4446250720807264d91e37584e19c5a4e82596c6735a
4
- data.tar.gz: '0812c1365e66ea9f674fc5a8e32d3960ed9e84ebed6f95f24f3d1137ed56a19e'
3
+ metadata.gz: b2d9e6e733aeeb720b7b7dea0721c11b5892bc88ae8a48cdeec608028c8aae9d
4
+ data.tar.gz: d8f89788023aeb586e6df258c013a970fd28fe3c320741f41b20fd1ff5475d86
5
5
  SHA512:
6
- metadata.gz: 948099cba36db08f3fc566fbe712600de78c6a85f5231ac91b84135daf477454496a5d1406b9cfe083021409112970461b7011b010c6bff4835d9a1df44647e5
7
- data.tar.gz: f1b93d8b03884f85bfdb284c3a4af28713b65165654be8928595886085f7645f482fb2befd3e5cb11182864f61dce9e4b34f07862b43209907d6035bc9269fed
6
+ metadata.gz: 79e0052abddb1704f8e0f8d0d1faa4cc9ea180db04fd178917f0100c5857985ed91f219b106574409b447deb7b61efb14a3e9f8f353d15caa643edf592d6d0b0
7
+ data.tar.gz: 9bff4e63e15a9911eccc6d9f4d1614eb55c28e98d055b95f720b4653db7dbc38927c2c263ab95a1508c70f287f4ac20cb75d561a8943a64f81eb4ceb489e791b
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- spring_onion (1.0.5)
4
+ spring_onion (1.1.0)
5
5
  activerecord
6
6
  coderay
7
7
  mysql2
data/README.md CHANGED
@@ -36,7 +36,8 @@ ActiveRecord::Base.establish_connection(
36
36
  )
37
37
 
38
38
  SpringOnion.enabled = true # or `SPRING_ONION_ENABLED=1`
39
- SpringOnion.connection = ActiveRecord::Base.connection.raw_connection # or `SPRING_ONION_DATABASE_URL=mysql2://...`
39
+ # `SPRING_ONION_DATABASE_URL=mysql2://...`
40
+ # default: SpringOnion.connection = ActiveRecord::Base.connection.raw_connection
40
41
  SpringOnion.source_filter_re = //
41
42
 
42
43
  class Employee < ActiveRecord::Base; end
@@ -65,6 +65,7 @@ module SpringOnion
65
65
  end
66
66
  end
67
67
 
68
+ @log_all = (/\A(1|true)\z/i =~ ENV['SPRING_ONION_LOG_ALL'])
68
69
  @trace_len = 3
69
70
  @json_pretty = (/\A(1|true)\z/i =~ ENV['SPRING_ONION_JSON_PRETTY'])
70
71
  @color = /\A(1|true)\z/i =~ ENV.fetch('SPRING_ONION_COLOR', @logger.instance_variable_get(:@logdev)&.dev&.tty?&.to_s)
@@ -76,6 +77,7 @@ module SpringOnion
76
77
  :sql_filter_re, :ignore_sql_filter_re, :sql_filter,
77
78
  :source_filter_re, :ignore_source_filter_re, :source_filter,
78
79
  :logger,
80
+ :log_all,
79
81
  :trace_len,
80
82
  :json_pretty,
81
83
  :color
@@ -16,18 +16,14 @@ module SpringOnion
16
16
  trace = SpringOnion.source_filter.call(caller)
17
17
 
18
18
  unless trace.length.zero?
19
- conn = SpringOnion.connection
20
- raise SpringOnion::Error, 'MySQL connection is not set' unless conn
21
-
19
+ conn = SpringOnion.connection || raw_connection
22
20
  exp = conn.query("EXPLAIN #{sql}", as: :hash).to_a
23
21
  exp.each { |r| r.delete('id') }
24
22
  _validate_explain(sql: sql, exp: exp, trace: trace)
25
23
  end
26
24
  end
27
- rescue SpringOnion::Error
28
- raise
29
25
  rescue StandardError => e
30
- SpringOnion.logger.error(e)
26
+ SpringOnion.logger.error("#{e}\n\t#{e.backtrace.join("\n\t")}")
31
27
  end
32
28
 
33
29
  yield
@@ -45,7 +41,7 @@ module SpringOnion
45
41
  warning_names_by_index[i] = warning_names unless warning_names.empty?
46
42
  end
47
43
 
48
- return if warning_names_by_index.empty?
44
+ return if !SpringOnion.log_all && warning_names_by_index.empty?
49
45
 
50
46
  SpringOnion::JsonLogger.log(
51
47
  sql: sql,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SpringOnion
4
- VERSION = '1.0.5'
4
+ VERSION = '1.1.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spring_onion
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - winebarrel
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-20 00:00:00.000000000 Z
11
+ date: 2020-07-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord