active_record_query_trace 1.4 → 1.5

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: f3bf7027ae082e7dbcdebe76076e574cc666ebbe
4
- data.tar.gz: c83658ea02bf13e42384917c5642dd60153bdbcc
3
+ metadata.gz: 3afa75c68dc6284f269661de1024006bc1f4990d
4
+ data.tar.gz: c550e68c1f3706b7b44dcf7cf5dcda439c846654
5
5
  SHA512:
6
- metadata.gz: 026991c7074bf4bbaa9fa08db51d650d42ef8d2973e00e305dcd7e1332fef93336eaaf94c3626607e7f5c4caf98128b433df0c2c6ee1e664604d60879242e74c
7
- data.tar.gz: 1447eff21be5a1a3230e7b56b5c9b9e03f663b2d3f4135d99bf3ee8124719026106415cc287830159e597a8cdcbfdb4f1c78207c6f5bae45e65d8cb2bf537270
6
+ metadata.gz: 57d3f9bfdafc5a31eabdef81cc9b10efec7f1f3031932ace1ba1c1526f99f5177fd35fbd7224f3e4a6c4738e608704e2edba743fa7899fc8193c84d27953d12e
7
+ data.tar.gz: 37244b76797af06f8f94cdbaf5425239ae9983fdbb3b7d51f860e52da67a04cea65d8b350094e2c046ce3a6f816ce1337dbe5955220e6dc8256989603fb924ec
data/HISTORY.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 1.5 (2015-09-23)
2
+
3
+ Merge pull request #13 from mtyeh411/fix_root_trace_filter
4
+
5
+ Fixed Rails 4.2 backtrace_cleaner root filter with sql-logging gem
6
+
7
+ Thank you @mtyeh411
8
+
1
9
  ## 1.4 (2015-03-05)
2
10
 
3
11
  Support for ignoring `ActiveRecord` cached queries that show up in the log with a `CACHE` prefix.
data/README.md CHANGED
@@ -35,7 +35,7 @@ ActiveRecordQueryTrace.level = :app # default
35
35
  By default, a backtrace will be logged for every query, even cached queries that do not actually hit the database. You might find it useful not to print the backtrace for cached queries:
36
36
 
37
37
  ```ruby
38
- ActiveRecordQueryTrace.ignore_cached_queries
38
+ ActiveRecordQueryTrace.ignore_cached_queries = true # Default is false.
39
39
  ```
40
40
 
41
41
  Additionally, if you are working with a large app, you may wish to limit the number of lines displayed for each query.
Binary file
@@ -18,6 +18,11 @@ module ActiveRecordQueryTrace
18
18
  ActiveRecordQueryTrace.level = :app
19
19
  ActiveRecordQueryTrace.lines = 5
20
20
  ActiveRecordQueryTrace.ignore_cached_queries = false
21
+
22
+ if ActiveRecordQueryTrace.level != :app
23
+ # Rails by default silences all backtraces that match Rails::BacktraceCleaner::APP_DIRS_PATTERN
24
+ Rails.backtrace_cleaner.remove_silencers!
25
+ end
21
26
  end
22
27
 
23
28
  def sql(event)
@@ -34,25 +39,31 @@ module ActiveRecordQueryTrace
34
39
  return if payload[:name] == 'SCHEMA'
35
40
  return if ActiveRecordQueryTrace.ignore_cached_queries && payload[:name] == 'CACHE'
36
41
 
37
- debug(color("Called from: \n ", MAGENTA, true) + clean_trace(caller)[index].join("\n "))
42
+ cleaned_trace = clean_trace(caller)[index].join("\n ")
43
+ debug(color("Called from: \n ", MAGENTA, true) + cleaned_trace) unless cleaned_trace.blank?
38
44
  end
39
45
  end
40
46
 
41
47
  def clean_trace(trace)
48
+ # Rails relies on backtrace cleaner to set the application root directory filter
49
+ # the problem is that the backtrace cleaner is initialized before the application
50
+ # this ensures that the value of `root` used by the filter is set to the application root
51
+ if Rails.backtrace_cleaner.instance_variable_get(:@root) == '/'
52
+ Rails.backtrace_cleaner.instance_variable_set :@root, Rails.root.to_s
53
+ end
54
+
42
55
  case ActiveRecordQueryTrace.level
43
56
  when :full
44
57
  trace
45
- when :rails
58
+ when :rails, :app
46
59
  Rails.respond_to?(:backtrace_cleaner) ? Rails.backtrace_cleaner.clean(trace) : trace
47
- when :app
48
- Rails.backtrace_cleaner.add_silencer { |line| not line =~ /^app/ }
49
- Rails.backtrace_cleaner.clean(trace)
50
60
  else
51
61
  raise "Invalid ActiveRecordQueryTrace.level value '#{ActiveRecordQueryTrace.level}' - should be :full, :rails, or :app"
52
62
  end
53
63
  end
54
64
 
55
65
  attach_to :active_record
66
+
56
67
  end
57
68
  end
58
69
  end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module ActiveRecordQueryTrace
2
- VERSION = '1.4'
2
+ VERSION = '1.5'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_query_trace
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.4'
4
+ version: '1.5'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Caughlan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-05 00:00:00.000000000 Z
11
+ date: 2015-09-23 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Print stack trace of all queries to the Rails log. Helpful to find where
14
14
  queries are being executed in your application.
@@ -17,6 +17,7 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
+ - active_record_query_trace-1.4.gem
20
21
  - active_record_query_trace.gemspec
21
22
  - HISTORY.md
22
23
  - lib/active_record_query_trace.rb