appsignal 2.1.0.alpha.3 → 2.1.0.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +43 -0
  4. data/.rubocop_todo.yml +289 -0
  5. data/.travis.yml +4 -0
  6. data/CHANGELOG.md +11 -1
  7. data/Gemfile +1 -1
  8. data/LICENSE +1 -1
  9. data/appsignal.gemspec +1 -0
  10. data/bin/appsignal +2 -2
  11. data/ext/agent.yml +11 -11
  12. data/ext/extconf.rb +33 -33
  13. data/gemfiles/rails-4.2.gemfile +4 -0
  14. data/gemfiles/resque.gemfile +4 -0
  15. data/lib/appsignal.rb +58 -54
  16. data/lib/appsignal/auth_check.rb +15 -16
  17. data/lib/appsignal/capistrano.rb +4 -4
  18. data/lib/appsignal/cli.rb +28 -28
  19. data/lib/appsignal/cli/diagnose.rb +11 -11
  20. data/lib/appsignal/cli/helpers.rb +1 -1
  21. data/lib/appsignal/cli/install.rb +38 -38
  22. data/lib/appsignal/cli/notify_of_deploy.rb +1 -1
  23. data/lib/appsignal/config.rb +73 -71
  24. data/lib/appsignal/event_formatter.rb +8 -8
  25. data/lib/appsignal/event_formatter/action_view/render_formatter.rb +4 -4
  26. data/lib/appsignal/event_formatter/active_record/instantiation_formatter.rb +1 -1
  27. data/lib/appsignal/event_formatter/active_record/sql_formatter.rb +1 -1
  28. data/lib/appsignal/event_formatter/elastic_search/search_formatter.rb +9 -7
  29. data/lib/appsignal/event_formatter/faraday/request_formatter.rb +1 -1
  30. data/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter.rb +6 -6
  31. data/lib/appsignal/event_formatter/moped/query_formatter.rb +56 -43
  32. data/lib/appsignal/extension.rb +5 -5
  33. data/lib/appsignal/hooks.rb +28 -26
  34. data/lib/appsignal/hooks/active_support_notifications.rb +2 -2
  35. data/lib/appsignal/hooks/celluloid.rb +1 -1
  36. data/lib/appsignal/hooks/data_mapper.rb +2 -2
  37. data/lib/appsignal/hooks/delayed_job.rb +1 -1
  38. data/lib/appsignal/hooks/mongo_ruby_driver.rb +1 -1
  39. data/lib/appsignal/hooks/net_http.rb +4 -4
  40. data/lib/appsignal/hooks/passenger.rb +2 -2
  41. data/lib/appsignal/hooks/puma.rb +4 -4
  42. data/lib/appsignal/hooks/rake.rb +1 -1
  43. data/lib/appsignal/hooks/redis.rb +1 -1
  44. data/lib/appsignal/hooks/sequel.rb +2 -2
  45. data/lib/appsignal/hooks/shoryuken.rb +8 -8
  46. data/lib/appsignal/hooks/sidekiq.rb +16 -15
  47. data/lib/appsignal/hooks/unicorn.rb +1 -1
  48. data/lib/appsignal/hooks/webmachine.rb +1 -1
  49. data/lib/appsignal/integrations/capistrano/capistrano_2_tasks.rb +6 -6
  50. data/lib/appsignal/integrations/data_mapper.rb +2 -3
  51. data/lib/appsignal/integrations/delayed_job_plugin.rb +5 -5
  52. data/lib/appsignal/integrations/mongo_ruby_driver.rb +6 -6
  53. data/lib/appsignal/integrations/padrino.rb +8 -8
  54. data/lib/appsignal/integrations/railtie.rb +5 -5
  55. data/lib/appsignal/integrations/resque.rb +4 -5
  56. data/lib/appsignal/integrations/resque_active_job.rb +3 -6
  57. data/lib/appsignal/integrations/sinatra.rb +2 -2
  58. data/lib/appsignal/integrations/webmachine.rb +2 -3
  59. data/lib/appsignal/js_exception_transaction.rb +10 -10
  60. data/lib/appsignal/marker.rb +3 -3
  61. data/lib/appsignal/rack/generic_instrumentation.rb +10 -9
  62. data/lib/appsignal/rack/js_exception_catcher.rb +7 -6
  63. data/lib/appsignal/rack/rails_instrumentation.rb +9 -8
  64. data/lib/appsignal/rack/sinatra_instrumentation.rb +19 -17
  65. data/lib/appsignal/rack/streaming_listener.rb +9 -8
  66. data/lib/appsignal/system.rb +19 -17
  67. data/lib/appsignal/transaction.rb +97 -40
  68. data/lib/appsignal/transmitter.rb +23 -30
  69. data/lib/appsignal/utils.rb +3 -3
  70. data/lib/appsignal/utils/params_sanitizer.rb +1 -1
  71. data/lib/appsignal/utils/query_params_sanitizer.rb +1 -1
  72. data/lib/appsignal/version.rb +2 -2
  73. data/spec/.rubocop.yml +4 -0
  74. data/spec/lib/appsignal/auth_check_spec.rb +7 -7
  75. data/spec/lib/appsignal/capistrano2_spec.rb +41 -41
  76. data/spec/lib/appsignal/capistrano3_spec.rb +43 -44
  77. data/spec/lib/appsignal/cli/notify_of_deploy_spec.rb +9 -11
  78. data/spec/lib/appsignal/cli_spec.rb +9 -9
  79. data/spec/lib/appsignal/config_spec.rb +88 -86
  80. data/spec/lib/appsignal/event_formatter/action_view/render_formatter_spec.rb +9 -9
  81. data/spec/lib/appsignal/event_formatter/active_record/instantiation_formatter_spec.rb +4 -4
  82. data/spec/lib/appsignal/event_formatter/active_record/sql_formatter_spec.rb +4 -4
  83. data/spec/lib/appsignal/event_formatter/elastic_search/search_formatter_spec.rb +12 -12
  84. data/spec/lib/appsignal/event_formatter/faraday/request_formatter_spec.rb +4 -4
  85. data/spec/lib/appsignal/event_formatter/mongo_ruby_driver/query_formatter_spec.rb +23 -23
  86. data/spec/lib/appsignal/event_formatter/moped/query_formatter_spec.rb +29 -30
  87. data/spec/lib/appsignal/event_formatter_spec.rb +28 -28
  88. data/spec/lib/appsignal/extension_spec.rb +15 -15
  89. data/spec/lib/appsignal/garbage_collection_profiler_spec.rb +6 -5
  90. data/spec/lib/appsignal/hooks/active_support_notifications_spec.rb +12 -12
  91. data/spec/lib/appsignal/hooks/delayed_job_spec.rb +34 -34
  92. data/spec/lib/appsignal/hooks/mongo_ruby_driver_spec.rb +3 -3
  93. data/spec/lib/appsignal/hooks/net_http_spec.rb +10 -10
  94. data/spec/lib/appsignal/hooks/rake_spec.rb +7 -7
  95. data/spec/lib/appsignal/hooks/redis_spec.rb +6 -6
  96. data/spec/lib/appsignal/hooks/shoryuken_spec.rb +21 -22
  97. data/spec/lib/appsignal/hooks/sidekiq_spec.rb +48 -45
  98. data/spec/lib/appsignal/hooks/webmachine_spec.rb +2 -2
  99. data/spec/lib/appsignal/hooks_spec.rb +16 -17
  100. data/spec/lib/appsignal/integrations/data_mapper_spec.rb +7 -8
  101. data/spec/lib/appsignal/integrations/mongo_ruby_driver_spec.rb +19 -19
  102. data/spec/lib/appsignal/integrations/object_spec.rb +3 -3
  103. data/spec/lib/appsignal/integrations/padrino_spec.rb +44 -44
  104. data/spec/lib/appsignal/integrations/railtie_spec.rb +13 -13
  105. data/spec/lib/appsignal/integrations/resque_active_job_spec.rb +7 -7
  106. data/spec/lib/appsignal/integrations/resque_spec.rb +8 -8
  107. data/spec/lib/appsignal/integrations/sinatra_spec.rb +7 -7
  108. data/spec/lib/appsignal/integrations/webmachine_spec.rb +15 -15
  109. data/spec/lib/appsignal/js_exception_transaction_spec.rb +23 -23
  110. data/spec/lib/appsignal/marker_spec.rb +8 -8
  111. data/spec/lib/appsignal/minutely_spec.rb +6 -6
  112. data/spec/lib/appsignal/rack/generic_instrumentation_spec.rb +7 -7
  113. data/spec/lib/appsignal/rack/js_exception_catcher_spec.rb +13 -13
  114. data/spec/lib/appsignal/rack/rails_instrumentation_spec.rb +11 -11
  115. data/spec/lib/appsignal/rack/sinatra_instrumentation_spec.rb +21 -21
  116. data/spec/lib/appsignal/rack/streaming_listener_spec.rb +36 -36
  117. data/spec/lib/appsignal/system/container_spec.rb +1 -1
  118. data/spec/lib/appsignal/transaction_spec.rb +213 -184
  119. data/spec/lib/appsignal/transmitter_spec.rb +20 -20
  120. data/spec/lib/appsignal/utils/params_sanitizer_spec.rb +19 -19
  121. data/spec/lib/appsignal/utils/query_params_sanitizer_spec.rb +41 -41
  122. data/spec/lib/appsignal/utils_spec.rb +41 -37
  123. data/spec/lib/appsignal_spec.rb +150 -142
  124. data/spec/spec_helper.rb +18 -18
  125. data/spec/support/delegate_matcher.rb +6 -6
  126. data/spec/support/helpers/api_request_helper.rb +2 -2
  127. data/spec/support/helpers/config_helpers.rb +3 -3
  128. data/spec/support/helpers/dependency_helper.rb +13 -13
  129. data/spec/support/helpers/directory_helper.rb +5 -5
  130. data/spec/support/helpers/env_helpers.rb +14 -14
  131. data/spec/support/helpers/system_helpers.rb +3 -3
  132. data/spec/support/helpers/transaction_helpers.rb +10 -10
  133. metadata +20 -2
@@ -18,18 +18,18 @@ module Appsignal
18
18
  @@formatter_classes ||= {}
19
19
  end
20
20
 
21
- def register(name, formatter=self)
21
+ def register(name, formatter = self)
22
22
  formatter_classes[name] = formatter
23
23
  end
24
24
 
25
- def unregister(name, formatter=self)
26
- if formatter_classes[name] == formatter
27
- formatter_classes.delete(name)
28
- formatters.delete(name)
29
- end
25
+ def unregister(name, formatter = self)
26
+ return unless formatter_classes[name] == formatter
27
+
28
+ formatter_classes.delete(name)
29
+ formatters.delete(name)
30
30
  end
31
31
 
32
- def registered?(name, klass=nil)
32
+ def registered?(name, klass = nil)
33
33
  if klass
34
34
  formatter_classes[name] == klass
35
35
  else
@@ -65,6 +65,6 @@ module Appsignal
65
65
  end
66
66
  end
67
67
 
68
- Dir.glob(File.expand_path('../event_formatter/**/*.rb', __FILE__)).each do |file|
68
+ Dir.glob(File.expand_path("../event_formatter/**/*.rb", __FILE__)).each do |file|
69
69
  require file
70
70
  end
@@ -2,15 +2,15 @@ module Appsignal
2
2
  class EventFormatter
3
3
  module ActionView
4
4
  class RenderFormatter < Appsignal::EventFormatter
5
- register 'render_partial.action_view'
6
- register 'render_template.action_view'
5
+ register "render_partial.action_view"
6
+ register "render_template.action_view"
7
7
 
8
- BLANK = ''.freeze
8
+ BLANK = "".freeze
9
9
 
10
10
  attr_reader :root_path
11
11
 
12
12
  def initialize
13
- @root_path = "#{Rails.root.to_s}/".freeze
13
+ @root_path = "#{Rails.root}/".freeze
14
14
  end
15
15
 
16
16
  def format(payload)
@@ -2,7 +2,7 @@ module Appsignal
2
2
  class EventFormatter
3
3
  module ActiveRecord
4
4
  class InstantiationFormatter < Appsignal::EventFormatter
5
- register 'instantiation.active_record'
5
+ register "instantiation.active_record"
6
6
 
7
7
  def format(payload)
8
8
  [payload[:class_name], nil]
@@ -2,7 +2,7 @@ module Appsignal
2
2
  class EventFormatter
3
3
  module ActiveRecord
4
4
  class SqlFormatter < Appsignal::EventFormatter
5
- register 'sql.active_record'
5
+ register "sql.active_record"
6
6
 
7
7
  def format(payload)
8
8
  [payload[:name], payload[:sql], SQL_BODY_FORMAT]
@@ -2,7 +2,7 @@ module Appsignal
2
2
  class EventFormatter
3
3
  module ElasticSearch
4
4
  class SearchFormatter < Appsignal::EventFormatter
5
- register 'search.elasticsearch'
5
+ register "search.elasticsearch"
6
6
 
7
7
  def format(payload)
8
8
  [
@@ -12,14 +12,16 @@ module Appsignal
12
12
  end
13
13
 
14
14
  def sanitized_search(search)
15
- return nil unless search.is_a?(Hash)
15
+ return unless search.is_a?(Hash)
16
+
16
17
  {}.tap do |hsh|
17
18
  search.each do |key, val|
18
- if [:index, :type].include?(key)
19
- hsh[key] = val
20
- else
21
- hsh[key] = Appsignal::Utils::QueryParamsSanitizer.sanitize(val)
22
- end
19
+ hsh[key] =
20
+ if [:index, :type].include?(key)
21
+ val
22
+ else
23
+ Appsignal::Utils::QueryParamsSanitizer.sanitize(val)
24
+ end
23
25
  end
24
26
  end
25
27
  end
@@ -2,7 +2,7 @@ module Appsignal
2
2
  class EventFormatter
3
3
  module Faraday
4
4
  class RequestFormatter < Appsignal::EventFormatter
5
- register 'request.faraday'
5
+ register "request.faraday"
6
6
 
7
7
  def format(payload)
8
8
  http_method = payload[:method].to_s.upcase
@@ -57,7 +57,7 @@ module Appsignal
57
57
 
58
58
  {}.tap do |hsh|
59
59
  command.each do |key, val|
60
- hsh[key] = self.apply_strategy(strategies[key], val)
60
+ hsh[key] = apply_strategy(strategies[key], val)
61
61
  end
62
62
  end
63
63
  end
@@ -66,20 +66,20 @@ module Appsignal
66
66
  def self.apply_strategy(strategy, val)
67
67
  case strategy
68
68
  when :allow then val
69
- when :deny then '?'
70
- when :deny_array then '[?]'
69
+ when :deny then "?"
70
+ when :deny_array then "[?]"
71
71
  when :sanitize_document
72
72
  Appsignal::Utils::QueryParamsSanitizer.sanitize(val, true, :mongodb)
73
73
  when :sanitize_bulk
74
74
  if val.length > 1
75
75
  [
76
- self.format(:bulk, val.first),
76
+ format(:bulk, val.first),
77
77
  "[...]"
78
78
  ]
79
79
  else
80
- val.map { |v| self.format(:bulk, v) }
80
+ val.map { |v| format(:bulk, v) }
81
81
  end
82
- else '?'
82
+ else "?"
83
83
  end
84
84
  end
85
85
  end
@@ -2,54 +2,67 @@ module Appsignal
2
2
  class EventFormatter
3
3
  module Moped
4
4
  class QueryFormatter < Appsignal::EventFormatter
5
- register 'query.moped'
5
+ register "query.moped"
6
6
 
7
7
  def format(payload)
8
- if payload[:ops] && payload[:ops].length > 0
8
+ if payload[:ops] && !payload[:ops].empty?
9
9
  op = payload[:ops].first
10
10
  case op.class.to_s
11
- when 'Moped::Protocol::Command'
12
- return ['Command', {
13
- :database => op.full_collection_name,
14
- :selector => sanitize(op.selector, true, :mongodb)
15
- }.inspect]
16
- when 'Moped::Protocol::Query'
17
- return ['Query', {
18
- :database => op.full_collection_name,
19
- :selector => sanitize(op.selector, false, :mongodb),
20
- :flags => op.flags,
21
- :limit => op.limit,
22
- :skip => op.skip,
23
- :fields => op.fields
24
- }.inspect]
25
- when 'Moped::Protocol::Delete'
26
- return ['Delete', {
27
- :database => op.full_collection_name,
28
- :selector => sanitize(op.selector, false, :mongodb),
29
- :flags => op.flags,
30
- }.inspect]
31
- when 'Moped::Protocol::Insert'
32
- return ['Insert', {
33
- :database => op.full_collection_name,
34
- :documents => sanitize(op.documents, true, :mongodb),
35
- :count => op.documents.count,
36
- :flags => op.flags,
37
- }.inspect]
38
- when 'Moped::Protocol::Update'
39
- return ['Update', {
40
- :database => op.full_collection_name,
41
- :selector => sanitize(op.selector, false, :mongodb),
42
- :update => sanitize(op.update, true, :mongodb),
43
- :flags => op.flags,
44
- }.inspect]
45
- when 'Moped::Protocol::KillCursors'
46
- return ['KillCursors', {
47
- :number_of_cursor_ids => op.number_of_cursor_ids
48
- }.inspect]
11
+ when "Moped::Protocol::Command"
12
+ [
13
+ "Command", {
14
+ :database => op.full_collection_name,
15
+ :selector => sanitize(op.selector, true, :mongodb)
16
+ }.inspect
17
+ ]
18
+ when "Moped::Protocol::Query"
19
+ [
20
+ "Query", {
21
+ :database => op.full_collection_name,
22
+ :selector => sanitize(op.selector, false, :mongodb),
23
+ :flags => op.flags,
24
+ :limit => op.limit,
25
+ :skip => op.skip,
26
+ :fields => op.fields
27
+ }.inspect
28
+ ]
29
+ when "Moped::Protocol::Delete"
30
+ [
31
+ "Delete", {
32
+ :database => op.full_collection_name,
33
+ :selector => sanitize(op.selector, false, :mongodb),
34
+ :flags => op.flags
35
+ }.inspect
36
+ ]
37
+ when "Moped::Protocol::Insert"
38
+ [
39
+ "Insert", {
40
+ :database => op.full_collection_name,
41
+ :documents => sanitize(op.documents, true, :mongodb),
42
+ :count => op.documents.count,
43
+ :flags => op.flags
44
+ }.inspect
45
+ ]
46
+ when "Moped::Protocol::Update"
47
+ [
48
+ "Update",
49
+ {
50
+ :database => op.full_collection_name,
51
+ :selector => sanitize(op.selector, false, :mongodb),
52
+ :update => sanitize(op.update, true, :mongodb),
53
+ :flags => op.flags
54
+ }.inspect
55
+ ]
56
+ when "Moped::Protocol::KillCursors"
57
+ [
58
+ "KillCursors",
59
+ { :number_of_cursor_ids => op.number_of_cursor_ids }.inspect
60
+ ]
49
61
  else
50
- return [op.class.to_s.sub('Moped::Protocol::', ''), {
51
- :database => op.full_collection_name
52
- }.inspect]
62
+ [
63
+ op.class.to_s.sub("Moped::Protocol::", ""),
64
+ { :database => op.full_collection_name }.inspect
65
+ ]
53
66
  end
54
67
  end
55
68
  end
@@ -1,7 +1,7 @@
1
- require 'yaml'
1
+ require "yaml"
2
2
 
3
3
  begin
4
- require 'appsignal_extension'
4
+ require "appsignal_extension"
5
5
  Appsignal.extension_loaded = true
6
6
  rescue LoadError => err
7
7
  Appsignal.logger.error(
@@ -16,12 +16,12 @@ module Appsignal
16
16
  class << self
17
17
  def agent_config
18
18
  @agent_config ||= YAML.load(
19
- File.read(File.join(File.dirname(__FILE__), '../../ext/agent.yml'))
19
+ File.read(File.join(File.dirname(__FILE__), "../../ext/agent.yml"))
20
20
  )
21
21
  end
22
22
 
23
23
  def agent_version
24
- agent_config['version']
24
+ agent_config["version"]
25
25
  end
26
26
 
27
27
  def method_missing(m, *args, &block)
@@ -31,7 +31,7 @@ module Appsignal
31
31
 
32
32
  class Data
33
33
  def inspect
34
- "#<#{self.class.name}:#{object_id} #{to_s}>"
34
+ "#<#{self.class.name}:#{object_id} #{self}>"
35
35
  end
36
36
  end
37
37
  end
@@ -17,7 +17,7 @@ module Appsignal
17
17
  end
18
18
 
19
19
  class Hook
20
- def self.register(name, hook=self)
20
+ def self.register(name, hook = self)
21
21
  Appsignal::Hooks.register(name, hook.new)
22
22
  end
23
23
 
@@ -63,16 +63,18 @@ module Appsignal
63
63
  text.size > 200 ? "#{text[0...197]}..." : text
64
64
  end
65
65
 
66
- def extract_value(object_or_hash, field, default_value=nil, convert_to_s=false)
67
- value = if object_or_hash.respond_to?(:[])
68
- begin
69
- object_or_hash[field]
70
- rescue NameError
71
- nil
72
- end
73
- elsif object_or_hash.respond_to?(field)
74
- object_or_hash.send(field)
75
- end || default_value
66
+ def extract_value(object_or_hash, field, default_value = nil, convert_to_s = false)
67
+ value =
68
+ if object_or_hash.respond_to?(:[])
69
+ begin
70
+ object_or_hash[field]
71
+ rescue NameError
72
+ nil
73
+ end
74
+ elsif object_or_hash.respond_to?(field)
75
+ object_or_hash.send(field)
76
+ end || default_value
77
+
76
78
  if convert_to_s
77
79
  value.to_s
78
80
  else
@@ -89,18 +91,18 @@ module Appsignal
89
91
  end
90
92
  end
91
93
 
92
- require 'appsignal/hooks/active_support_notifications'
93
- require 'appsignal/hooks/celluloid'
94
- require 'appsignal/hooks/delayed_job'
95
- require 'appsignal/hooks/net_http'
96
- require 'appsignal/hooks/passenger'
97
- require 'appsignal/hooks/puma'
98
- require 'appsignal/hooks/rake'
99
- require 'appsignal/hooks/redis'
100
- require 'appsignal/hooks/sequel'
101
- require 'appsignal/hooks/shoryuken'
102
- require 'appsignal/hooks/sidekiq'
103
- require 'appsignal/hooks/unicorn'
104
- require 'appsignal/hooks/mongo_ruby_driver'
105
- require 'appsignal/hooks/webmachine'
106
- require 'appsignal/hooks/data_mapper'
94
+ require "appsignal/hooks/active_support_notifications"
95
+ require "appsignal/hooks/celluloid"
96
+ require "appsignal/hooks/delayed_job"
97
+ require "appsignal/hooks/net_http"
98
+ require "appsignal/hooks/passenger"
99
+ require "appsignal/hooks/puma"
100
+ require "appsignal/hooks/rake"
101
+ require "appsignal/hooks/redis"
102
+ require "appsignal/hooks/sequel"
103
+ require "appsignal/hooks/shoryuken"
104
+ require "appsignal/hooks/sidekiq"
105
+ require "appsignal/hooks/unicorn"
106
+ require "appsignal/hooks/mongo_ruby_driver"
107
+ require "appsignal/hooks/webmachine"
108
+ require "appsignal/hooks/data_mapper"
@@ -3,7 +3,7 @@ module Appsignal
3
3
  class ActiveSupportNotificationsHook < Appsignal::Hooks::Hook
4
4
  register :active_support_notifications
5
5
 
6
- BANG = '!'.freeze
6
+ BANG = "!".freeze
7
7
 
8
8
  def dependencies_present?
9
9
  defined?(::ActiveSupport::Notifications::Instrumenter)
@@ -13,7 +13,7 @@ module Appsignal
13
13
  ::ActiveSupport::Notifications::Instrumenter.class_eval do
14
14
  alias instrument_without_appsignal instrument
15
15
 
16
- def instrument(name, payload={}, &block)
16
+ def instrument(name, payload = {}, &block)
17
17
  # Events that start with a bang are internal to Rails
18
18
  instrument_this = name[0] != BANG
19
19
 
@@ -18,7 +18,7 @@ module Appsignal
18
18
  alias shutdown_without_appsignal shutdown
19
19
 
20
20
  def shutdown
21
- Appsignal.stop('celluloid')
21
+ Appsignal.stop("celluloid")
22
22
  shutdown_without_appsignal
23
23
  end
24
24
  end
@@ -5,11 +5,11 @@ module Appsignal
5
5
 
6
6
  def dependencies_present?
7
7
  defined?(::DataMapper) &&
8
- defined?(::DataObjects::Connection)
8
+ defined?(::DataObjects::Connection)
9
9
  end
10
10
 
11
11
  def install
12
- require 'appsignal/integrations/data_mapper'
12
+ require "appsignal/integrations/data_mapper"
13
13
  ::DataObjects::Connection.send(:include, Appsignal::Hooks::DataMapperLogListener)
14
14
  end
15
15
  end
@@ -10,7 +10,7 @@ module Appsignal
10
10
  def install
11
11
  # The DJ plugin is a subclass of Delayed::Plugin, so we can only
12
12
  # require this code if we're actually installing.
13
- require 'appsignal/integrations/delayed_job_plugin'
13
+ require "appsignal/integrations/delayed_job_plugin"
14
14
  ::Delayed::Worker.plugins << Appsignal::Hooks::DelayedJobPlugin
15
15
  end
16
16
  end
@@ -8,7 +8,7 @@ module Appsignal
8
8
  end
9
9
 
10
10
  def install
11
- require 'appsignal/integrations/mongo_ruby_driver'
11
+ require "appsignal/integrations/mongo_ruby_driver"
12
12
 
13
13
  Mongo::Monitoring::Global.subscribe(
14
14
  Mongo::Monitoring::COMMAND,
@@ -1,4 +1,4 @@
1
- require 'net/http'
1
+ require "net/http"
2
2
 
3
3
  module Appsignal
4
4
  class Hooks
@@ -13,10 +13,10 @@ module Appsignal
13
13
  Net::HTTP.class_eval do
14
14
  alias request_without_appsignal request
15
15
 
16
- def request(request, body=nil, &block)
16
+ def request(request, body = nil, &block)
17
17
  Appsignal.instrument(
18
- 'request.net_http',
19
- "#{request.method} #{use_ssl? ? 'https' : 'http'}://#{request['host'] || self.address}"
18
+ "request.net_http",
19
+ "#{request.method} #{use_ssl? ? "https" : "http"}://#{request["host"] || address}"
20
20
  ) do
21
21
  request_without_appsignal(request, body, &block)
22
22
  end