callstacking-rails 0.1.5 → 0.1.6

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: 3397c14c7a14f028756a51f652b3c910974fe7f73f26669f309f7ace8d10a0b1
4
- data.tar.gz: be23e85bec36e314527a3bef6908812f4d5245ef1100ed6ddaa33d2cd80d6d6b
3
+ metadata.gz: ae9342c9f37c47dde2042523854b08bbc9c7f94ce3f4fec32b3ecde123b62603
4
+ data.tar.gz: 500efff1f6650199ebea44d1964248758244caf8a0e1c0b40da98194d5797c22
5
5
  SHA512:
6
- metadata.gz: 102bf82f29d0bcbc02440d9511a07673e26a6af5aa574135e2d393878422d76509648ef32a2abf029ec0c2627714f184baf95b82c21a6731c9278910e3a60a03
7
- data.tar.gz: '0588d83e51ecaac9a2e3b2c5cfb4d390609a02365adbda31d77882ee8ded2e1552b9d3c26dac4870b89da7202b0502cbb7fe1deb1f79ee52450f7f0159952f08'
6
+ metadata.gz: 330b4e4dbe4eb13c09708e661963e130d9f164389b1ab0911b90cd89b5c2d37de9e41dd8bfcae60f5cccfa64eb9f013ed34fc1ffd0248778df4f334cf4eea8ef
7
+ data.tar.gz: 2e5219f83a3fdf775daf72d79708a49f7b76707b596508a424837b688a450d4d52c140456af6ec524ffbf6968e0e1db3d7a8b86b2619adc3a2450d0f3ce57ced
@@ -27,7 +27,6 @@ module Callstacking
27
27
 
28
28
  initializer 'local_helper.action_controller' do
29
29
  ActiveSupport.on_load :action_controller do
30
- helper Callstacking::Rails::TracesHelper
31
30
  include Callstacking::Rails::TracesHelper
32
31
  end
33
32
 
@@ -22,7 +22,8 @@ module Callstacking
22
22
 
23
23
  tmp_module = find_or_initialize_module
24
24
 
25
- return if tmp_module.instance_methods.include?(method_name) ||
25
+ return if tmp_module.nil? ||
26
+ tmp_module.instance_methods.include?(method_name) ||
26
27
  tmp_module.singleton_methods.include?(method_name)
27
28
 
28
29
  tmp_module.define_method(method_name) do |*args, &block|
@@ -37,7 +38,7 @@ module Callstacking
37
38
  klass = tmp_module.instance_variable_get(:@klass)
38
39
 
39
40
  arguments = Callstacking::Rails::Instrument.arguments_for(method(__method__).super_method, args)
40
-
41
+
41
42
  spans.call_entry(klass, method_name, arguments, p || path, l || line_no)
42
43
  return_val = super(*args, &block)
43
44
  spans.call_return(klass, method_name, p || path, l || line_no, return_val)
@@ -47,6 +48,8 @@ module Callstacking
47
48
  end
48
49
 
49
50
  def find_or_initialize_module
51
+ return if klass&.name == nil
52
+
50
53
  module_name = "#{klass.name.gsub('::', '')}Span"
51
54
  module_index = klass.ancestors.map(&:to_s).index(module_name)
52
55
 
@@ -74,10 +77,14 @@ module Callstacking
74
77
  param_names = m.parameters&.map(&:last)
75
78
  return {} if param_names.nil?
76
79
 
77
- param_names.map.with_index do |param, index|
80
+ h = param_names.map.with_index do |param, index|
78
81
  next if [:&, :*, :**].include?(param)
79
82
  [param, args[index]]
80
83
  end.compact.to_h
84
+
85
+ filter = ::Rails.application.config.filter_parameters
86
+ f = ActiveSupport::ParameterFilter.new filter
87
+ f.filter h
81
88
  end
82
89
 
83
90
  private
@@ -23,7 +23,7 @@ module Callstacking
23
23
  end
24
24
 
25
25
  def auth_token?
26
- auth_token.present?
26
+ !auth_token.nil?
27
27
  end
28
28
 
29
29
  def write_settings(new_settings)
@@ -31,6 +31,7 @@ module Callstacking
31
31
  end
32
32
 
33
33
  def enabled?
34
+ return false if settings.nil?
34
35
  settings[:enabled]
35
36
  end
36
37
 
@@ -27,12 +27,12 @@ module Callstacking
27
27
  trace_id = nil
28
28
 
29
29
  ActiveSupport::Notifications.subscribe("start_processing.action_controller") do |name, start, finish, id, payload|
30
- request_id = payload[:request].request_id
30
+ request_id = payload[:request]&.request_id || SecureRandom.uuid
31
31
  Callstacking::Rails::Trace.current_request_id = request_id
32
32
 
33
33
  trace_id, _interval = client.create(payload[:method], payload[:controller],
34
34
  payload[:action], payload[:format],
35
- ::Rails.root, payload[:request].original_url,
35
+ ::Rails.root, payload[:request]&.original_url,
36
36
  request_id, payload[:headers],
37
37
  payload[:params])
38
38
 
@@ -46,6 +46,8 @@ module Callstacking
46
46
  end
47
47
 
48
48
  def inject_hud
49
+ return unless enabled?
50
+
49
51
  response.body = response.body.sub(/<\/body>/i, "#{hud}</body>")
50
52
  end
51
53
  end
@@ -1,5 +1,5 @@
1
1
  module Callstacking
2
2
  module Rails
3
- VERSION = "0.1.5"
3
+ VERSION = "0.1.6"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: callstacking-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Jones
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-10 00:00:00.000000000 Z
11
+ date: 2023-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails