meta_request 0.5.0 → 0.7.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
- SHA1:
3
- metadata.gz: aa726d98ee329e0d8f5c191fb58015b1869f407a
4
- data.tar.gz: 6683df50b00f40428ea3161420f1874ab610ffca
2
+ SHA256:
3
+ metadata.gz: a4b9c5b68ec96706c97b7694930d494d51a71d4cdfe8d0e4a31a1c5a3bd6162b
4
+ data.tar.gz: 12175a52caa80018ac03d1c47cce506da4f41094e72bbb36a3f950812436b2e5
5
5
  SHA512:
6
- metadata.gz: 3c17a83779def3d7466d57b2076faa5f88ece7493998c7a2f7b7e3602634f6c238c2ddef5abb97424ef23f6e19e57de65496a689dd81463d1d369dcf8793c58c
7
- data.tar.gz: 0fbf94aa9cb729400ee9900d01913a45a76373c5c8fb2fb7853c50309703a8cbd82f0e323b0c4da0b4685dc1eadab0f358046b16577df71d0d2afbae1b63c9d2
6
+ metadata.gz: f4344ff68b5379c110ed0a6f1d4b9e852b8dc72b3f6c3e323bcf36fc6e62b4aef196d9f61b81f38922c1c577c48f763b0fe574a7db6183d28ef931e8746d02d5
7
+ data.tar.gz: 5e3f37af2fb91197b442cb41f57f71c3c8aff600cfa6ce9ccf516419aa48f2e954ae7553b038c67b2bf7efbe647f34a794fd4afe2fb5554b7d53f4976b6a1bcb
@@ -32,20 +32,31 @@ module MetaRequest
32
32
 
33
33
  Event.new(name, start, ending, transaction_id, payload)
34
34
  }
35
+
36
+ # sql processing block - used for sql.active_record and sql.sequel
37
+
38
+ # HACK: we hardcode the event name to 'sql.active_record' so that the ui will
39
+ # display sequel events without modification. otherwise the ui would need to
40
+ # be modified to support a sequel tab (or to change the display name on the
41
+ # active_record tab when necessary - which maybe makes more sense?)
42
+ SQL_EVENT_NAME = "sql.active_record"
43
+
44
+ SQL_BLOCK = Proc.new {|*args|
45
+ name, start, ending, transaction_id, payload = args
46
+ dev_caller = caller.detect { |c| c.include? MetaRequest.rails_root }
47
+ if dev_caller
48
+ c = Callsite.parse(dev_caller)
49
+ payload.merge!(:line => c.line, :filename => c.filename, :method => c.method)
50
+ end
51
+ Event.new(SQL_EVENT_NAME, start, ending, transaction_id, payload)
52
+ }
35
53
  # Subscribe to all events relevant to RailsPanel
36
54
  #
37
55
  def self.subscribe
38
56
  new.
39
57
  subscribe("meta_request.log").
40
- subscribe("sql.active_record") do |*args|
41
- name, start, ending, transaction_id, payload = args
42
- dev_caller = caller.detect { |c| c.include? MetaRequest.rails_root }
43
- if dev_caller
44
- c = Callsite.parse(dev_caller)
45
- payload.merge!(:line => c.line, :filename => c.filename, :method => c.method)
46
- end
47
- Event.new(name, start, ending, transaction_id, payload)
48
- end.
58
+ subscribe("sql.active_record", &SQL_BLOCK).
59
+ subscribe("sql.sequel", &SQL_BLOCK).
49
60
  subscribe("render_partial.action_view").
50
61
  subscribe("render_template.action_view").
51
62
  subscribe("process_action.action_controller.exception").
@@ -7,6 +7,8 @@ module MetaRequest
7
7
  # Subclass of ActiveSupport Event that is JSON encodable
8
8
  #
9
9
  class Event < ActiveSupport::Notifications::Event
10
+ NOT_JSON_ENCODABLE = 'Not JSON Encodable'.freeze
11
+
10
12
  attr_reader :duration
11
13
 
12
14
  def initialize(name, start, ending, transaction_id, payload)
@@ -36,13 +38,15 @@ module MetaRequest
36
38
  transform_hash(payload, :deep => true) { |hash, key, value|
37
39
  if value.class.to_s == 'ActionDispatch::Http::Headers'
38
40
  value = value.to_h.select { |k, _| k.upcase == k }
41
+ elsif value.is_a?(ActiveRecord::ConnectionAdapters::AbstractAdapter)
42
+ value = NOT_JSON_ENCODABLE
39
43
  end
40
44
 
41
45
  begin
42
46
  value.to_json(:methods => [:duration])
43
47
  new_value = value
44
48
  rescue
45
- new_value = 'Not JSON Encodable'
49
+ new_value = NOT_JSON_ENCODABLE
46
50
  end
47
51
  hash[key] = new_value
48
52
  }.with_indifferent_access
@@ -1,3 +1,3 @@
1
1
  module MetaRequest
2
- VERSION = '0.5.0'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: meta_request
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dejan Simic
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-07 00:00:00.000000000 Z
11
+ date: 2019-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 3.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6'
22
+ version: '7'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: 3.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6'
32
+ version: '7'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rack-contrib
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  version: '0'
110
110
  requirements: []
111
111
  rubyforge_project:
112
- rubygems_version: 2.6.11
112
+ rubygems_version: 2.7.8
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: Request your Rails request