raygun4ruby 3.2.0 → 3.2.5.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +21 -18
  3. data/.rspec +1 -1
  4. data/.travis.yml +20 -12
  5. data/CHANGELOG.md +130 -117
  6. data/Gemfile +4 -4
  7. data/LICENSE.txt +22 -22
  8. data/README.md +420 -420
  9. data/Rakefile +27 -27
  10. data/examples/sinatras_raygun.rb +17 -17
  11. data/lib/generators/raygun/install_generator.rb +26 -26
  12. data/lib/raygun.rb +179 -179
  13. data/lib/raygun/affected_user.rb +59 -59
  14. data/lib/raygun/breadcrumbs.rb +34 -34
  15. data/lib/raygun/breadcrumbs/breadcrumb.rb +34 -34
  16. data/lib/raygun/breadcrumbs/store.rb +86 -86
  17. data/lib/raygun/client.rb +308 -303
  18. data/lib/raygun/configuration.rb +194 -194
  19. data/lib/raygun/error.rb +10 -10
  20. data/lib/raygun/javascript_tracker.rb +42 -42
  21. data/lib/raygun/middleware/breadcrumbs_store_initializer.rb +19 -19
  22. data/lib/raygun/middleware/javascript_exception_tracking.rb +32 -32
  23. data/lib/raygun/middleware/rack_exception_interceptor.rb +18 -18
  24. data/lib/raygun/middleware/rails_insert_affected_user.rb +26 -26
  25. data/lib/raygun/railtie.rb +39 -39
  26. data/lib/raygun/services/apply_whitelist_filter_to_payload.rb +27 -27
  27. data/lib/raygun/sidekiq.rb +71 -67
  28. data/lib/raygun/version.rb +3 -3
  29. data/lib/raygun4ruby.rb +1 -1
  30. data/lib/resque/failure/raygun.rb +25 -25
  31. data/lib/tasks/raygun.tasks +7 -7
  32. data/raygun4ruby.gemspec +45 -45
  33. data/spec/dummy/.gitignore +17 -0
  34. data/spec/dummy/Gemfile +47 -0
  35. data/spec/dummy/README.rdoc +28 -0
  36. data/spec/dummy/Rakefile +6 -6
  37. data/spec/dummy/app/assets/config/manifest.js +3 -3
  38. data/spec/dummy/app/assets/javascripts/application.js +13 -15
  39. data/spec/dummy/app/assets/stylesheets/application.css +15 -15
  40. data/spec/dummy/app/controllers/application_controller.rb +5 -2
  41. data/spec/dummy/app/controllers/home_controller.rb +4 -4
  42. data/spec/dummy/app/helpers/application_helper.rb +2 -2
  43. data/spec/dummy/app/{assets/javascripts/channels → mailers}/.keep +0 -0
  44. data/spec/dummy/{storage → app/models}/.keep +0 -0
  45. data/spec/dummy/app/views/home/index.html.erb +3 -3
  46. data/spec/dummy/app/views/home/index.json.erb +1 -1
  47. data/spec/dummy/app/views/layouts/application.html.erb +14 -15
  48. data/spec/dummy/bin/bundle +3 -3
  49. data/spec/dummy/bin/rails +9 -4
  50. data/spec/dummy/bin/rake +9 -4
  51. data/spec/dummy/bin/setup +29 -36
  52. data/spec/dummy/bin/spring +17 -0
  53. data/spec/dummy/config.ru +4 -5
  54. data/spec/dummy/config/application.rb +26 -18
  55. data/spec/dummy/config/boot.rb +3 -5
  56. data/spec/dummy/config/database.yml +25 -25
  57. data/spec/dummy/config/environment.rb +5 -5
  58. data/spec/dummy/config/environments/development.rb +41 -61
  59. data/spec/dummy/config/environments/production.rb +79 -94
  60. data/spec/dummy/config/initializers/assets.rb +11 -14
  61. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -7
  62. data/spec/dummy/config/initializers/cookies_serializer.rb +3 -5
  63. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -4
  64. data/spec/dummy/config/initializers/inflections.rb +16 -16
  65. data/spec/dummy/config/initializers/mime_types.rb +4 -4
  66. data/spec/dummy/config/initializers/session_store.rb +3 -0
  67. data/spec/dummy/config/initializers/to_time_preserves_timezone.rb +10 -0
  68. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -14
  69. data/spec/dummy/config/locales/en.yml +23 -33
  70. data/spec/dummy/config/routes.rb +58 -3
  71. data/spec/dummy/config/secrets.yml +22 -0
  72. data/spec/dummy/db/seeds.rb +7 -0
  73. data/spec/dummy/{db/test.sqlite3 → lib/tasks/.keep} +0 -0
  74. data/spec/dummy/public/404.html +67 -67
  75. data/spec/dummy/public/422.html +67 -67
  76. data/spec/dummy/public/500.html +66 -66
  77. data/spec/dummy/public/robots.txt +5 -0
  78. data/spec/dummy/{public/apple-touch-icon-precomposed.png → vendor/assets/javascripts/.keep} +0 -0
  79. data/spec/dummy/{public/apple-touch-icon.png → vendor/assets/stylesheets/.keep} +0 -0
  80. data/spec/features/javascript_spec.rb +48 -48
  81. data/spec/rails_helper.rb +4 -4
  82. data/spec/raygun/breadcrumbs/breadcrumb_spec.rb +171 -171
  83. data/spec/raygun/breadcrumbs/store_spec.rb +170 -170
  84. data/spec/raygun/raygun_spec.rb +47 -47
  85. data/spec/services/apply_whitelist_filter_to_payload_spec.rb +251 -251
  86. data/spec/spec_helper.rb +24 -24
  87. data/spec/support/fake_logger.rb +17 -17
  88. data/test/integration/client_test.rb +19 -19
  89. data/test/test_helper.rb +72 -72
  90. data/test/unit/affected_user_test.rb +136 -136
  91. data/test/unit/client_test.rb +812 -790
  92. data/test/unit/configuration_test.rb +206 -206
  93. data/test/unit/raygun_test.rb +25 -25
  94. data/test/unit/resque_failure_test.rb +24 -24
  95. data/test/unit/sidekiq_failure_test.rb +32 -32
  96. metadata +36 -49
  97. data/lib/raygun/testable.rb +0 -23
  98. data/spec/dummy/.ruby-version +0 -1
  99. data/spec/dummy/app/assets/javascripts/cable.js +0 -13
  100. data/spec/dummy/app/channels/application_cable/channel.rb +0 -4
  101. data/spec/dummy/app/channels/application_cable/connection.rb +0 -4
  102. data/spec/dummy/app/jobs/application_job.rb +0 -2
  103. data/spec/dummy/app/mailers/application_mailer.rb +0 -4
  104. data/spec/dummy/app/models/application_record.rb +0 -3
  105. data/spec/dummy/app/views/layouts/mailer.html.erb +0 -13
  106. data/spec/dummy/app/views/layouts/mailer.text.erb +0 -1
  107. data/spec/dummy/bin/update +0 -31
  108. data/spec/dummy/bin/yarn +0 -11
  109. data/spec/dummy/config/cable.yml +0 -10
  110. data/spec/dummy/config/environments/test.rb +0 -46
  111. data/spec/dummy/config/initializers/application_controller_renderer.rb +0 -8
  112. data/spec/dummy/config/initializers/content_security_policy.rb +0 -25
  113. data/spec/dummy/config/puma.rb +0 -34
  114. data/spec/dummy/config/spring.rb +0 -6
  115. data/spec/dummy/config/storage.yml +0 -34
  116. data/spec/dummy/db/schema.rb +0 -15
  117. data/spec/dummy/package.json +0 -5
@@ -1,24 +1,24 @@
1
- require_relative "../test_helper.rb"
2
-
3
- # Very simple test
4
- class ResqueFailureTest < Raygun::UnitTest
5
-
6
- require "resque/failure/raygun"
7
-
8
- def setup
9
- super
10
-
11
- stub_request(:post, 'https://api.raygun.io/entries').to_return(status: 202)
12
- fake_successful_entry
13
- end
14
-
15
- def test_failure_backend_appears_to_work
16
- assert Resque::Failure::Raygun.new(
17
- StandardError.new("Worker Problem"),
18
- "TestWorker PID 123",
19
- "super_important_jobs",
20
- class: "SendCookies", args: [ "nik" ]
21
- ).save.success?
22
- end
23
-
24
- end
1
+ require_relative "../test_helper.rb"
2
+
3
+ # Very simple test
4
+ class ResqueFailureTest < Raygun::UnitTest
5
+
6
+ require "resque/failure/raygun"
7
+
8
+ def setup
9
+ super
10
+
11
+ stub_request(:post, 'https://api.raygun.com/entries').to_return(status: 202)
12
+ fake_successful_entry
13
+ end
14
+
15
+ def test_failure_backend_appears_to_work
16
+ assert Resque::Failure::Raygun.new(
17
+ StandardError.new("Worker Problem"),
18
+ "TestWorker PID 123",
19
+ "super_important_jobs",
20
+ class: "SendCookies", args: [ "nik" ]
21
+ ).save.success?
22
+ end
23
+
24
+ end
@@ -1,32 +1,32 @@
1
- require_relative "../test_helper.rb"
2
-
3
- require "sidekiq"
4
- # Convince Sidekiq it's on a server :)
5
- module Sidekiq
6
- def self.server?
7
- true
8
- end
9
- end
10
- require "raygun/sidekiq"
11
-
12
- class SidekiqFailureTest < Raygun::UnitTest
13
-
14
- def setup
15
- super
16
-
17
- stub_request(:post, 'https://api.raygun.io/entries').to_return(status: 202)
18
- fake_successful_entry
19
- end
20
-
21
- def test_failure_backend_appears_to_work
22
- assert Raygun::SidekiqReporter.call(
23
- StandardError.new("Oh no! Your Sidekiq has failed!"),
24
- sidekick_name: "robin"
25
- ).success?
26
- end
27
-
28
- def test_we_are_in_sidekiqs_list_of_error_handlers
29
- assert Sidekiq.error_handlers.include?(Raygun::SidekiqReporter)
30
- end
31
-
32
- end
1
+ require_relative "../test_helper.rb"
2
+
3
+ require "sidekiq"
4
+ # Convince Sidekiq it's on a server :)
5
+ module Sidekiq
6
+ def self.server?
7
+ true
8
+ end
9
+ end
10
+ require "raygun/sidekiq"
11
+
12
+ class SidekiqFailureTest < Raygun::UnitTest
13
+
14
+ def setup
15
+ super
16
+
17
+ stub_request(:post, 'https://api.raygun.com/entries').to_return(status: 202)
18
+ fake_successful_entry
19
+ end
20
+
21
+ def test_failure_backend_appears_to_work
22
+ assert Raygun::SidekiqReporter.call(
23
+ StandardError.new("Oh no! Your Sidekiq has failed!"),
24
+ sidekick_name: "robin"
25
+ ).success?
26
+ end
27
+
28
+ def test_we_are_in_sidekiqs_list_of_error_handlers
29
+ assert Sidekiq.error_handlers.include?(Raygun::SidekiqReporter)
30
+ end
31
+
32
+ end
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raygun4ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.2.5.pre
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mindscape
8
8
  - Nik Wakelin
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-02-20 00:00:00.000000000 Z
12
+ date: 2021-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -85,16 +85,16 @@ dependencies:
85
85
  name: rake
86
86
  requirement: !ruby/object:Gem::Requirement
87
87
  requirements:
88
- - - "~>"
88
+ - - ">="
89
89
  - !ruby/object:Gem::Version
90
- version: '11'
90
+ version: 12.3.3
91
91
  type: :development
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
- - - "~>"
95
+ - - ">="
96
96
  - !ruby/object:Gem::Version
97
- version: '11'
97
+ version: 12.3.3
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: timecop
100
100
  requirement: !ruby/object:Gem::Requirement
@@ -219,14 +219,14 @@ dependencies:
219
219
  requirements:
220
220
  - - '='
221
221
  - !ruby/object:Gem::Version
222
- version: '5.2'
222
+ version: 4.2.11
223
223
  type: :development
224
224
  prerelease: false
225
225
  version_requirements: !ruby/object:Gem::Requirement
226
226
  requirements:
227
227
  - - '='
228
228
  - !ruby/object:Gem::Version
229
- version: '5.2'
229
+ version: 4.2.11
230
230
  - !ruby/object:Gem::Dependency
231
231
  name: sqlite3
232
232
  requirement: !ruby/object:Gem::Requirement
@@ -259,16 +259,16 @@ dependencies:
259
259
  name: rspec-rails
260
260
  requirement: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - ">="
262
+ - - "~>"
263
263
  - !ruby/object:Gem::Version
264
- version: '0'
264
+ version: '3.9'
265
265
  type: :development
266
266
  prerelease: false
267
267
  version_requirements: !ruby/object:Gem::Requirement
268
268
  requirements:
269
- - - ">="
269
+ - - "~>"
270
270
  - !ruby/object:Gem::Version
271
- version: '0'
271
+ version: '3.9'
272
272
  - !ruby/object:Gem::Dependency
273
273
  name: launchy
274
274
  requirement: !ruby/object:Gem::Requirement
@@ -297,9 +297,9 @@ dependencies:
297
297
  - - ">="
298
298
  - !ruby/object:Gem::Version
299
299
  version: '0'
300
- description: Ruby Adapter for Raygun.io
300
+ description: Ruby Adapter for Raygun
301
301
  email:
302
- - hello@raygun.io
302
+ - hello@raygun.com
303
303
  executables: []
304
304
  extensions: []
305
305
  extra_rdoc_files: []
@@ -330,76 +330,64 @@ files:
330
330
  - lib/raygun/railtie.rb
331
331
  - lib/raygun/services/apply_whitelist_filter_to_payload.rb
332
332
  - lib/raygun/sidekiq.rb
333
- - lib/raygun/testable.rb
334
333
  - lib/raygun/version.rb
335
334
  - lib/raygun4ruby.rb
336
335
  - lib/resque/failure/raygun.rb
337
336
  - lib/tasks/raygun.tasks
338
337
  - raygun4ruby.gemspec
339
- - spec/dummy/.ruby-version
338
+ - spec/dummy/.gitignore
339
+ - spec/dummy/Gemfile
340
+ - spec/dummy/README.rdoc
340
341
  - spec/dummy/Rakefile
341
342
  - spec/dummy/app/assets/config/manifest.js
342
343
  - spec/dummy/app/assets/images/.keep
343
344
  - spec/dummy/app/assets/javascripts/application.js
344
- - spec/dummy/app/assets/javascripts/cable.js
345
- - spec/dummy/app/assets/javascripts/channels/.keep
346
345
  - spec/dummy/app/assets/stylesheets/application.css
347
- - spec/dummy/app/channels/application_cable/channel.rb
348
- - spec/dummy/app/channels/application_cable/connection.rb
349
346
  - spec/dummy/app/controllers/application_controller.rb
350
347
  - spec/dummy/app/controllers/concerns/.keep
351
348
  - spec/dummy/app/controllers/home_controller.rb
352
349
  - spec/dummy/app/helpers/application_helper.rb
353
- - spec/dummy/app/jobs/application_job.rb
354
- - spec/dummy/app/mailers/application_mailer.rb
355
- - spec/dummy/app/models/application_record.rb
350
+ - spec/dummy/app/mailers/.keep
351
+ - spec/dummy/app/models/.keep
356
352
  - spec/dummy/app/models/concerns/.keep
357
353
  - spec/dummy/app/views/home/index.html.erb
358
354
  - spec/dummy/app/views/home/index.json.erb
359
355
  - spec/dummy/app/views/layouts/application.html.erb
360
- - spec/dummy/app/views/layouts/mailer.html.erb
361
- - spec/dummy/app/views/layouts/mailer.text.erb
362
356
  - spec/dummy/bin/bundle
363
357
  - spec/dummy/bin/rails
364
358
  - spec/dummy/bin/rake
365
359
  - spec/dummy/bin/setup
366
- - spec/dummy/bin/update
367
- - spec/dummy/bin/yarn
360
+ - spec/dummy/bin/spring
368
361
  - spec/dummy/config.ru
369
362
  - spec/dummy/config/application.rb
370
363
  - spec/dummy/config/boot.rb
371
- - spec/dummy/config/cable.yml
372
364
  - spec/dummy/config/database.yml
373
365
  - spec/dummy/config/environment.rb
374
366
  - spec/dummy/config/environments/development.rb
375
367
  - spec/dummy/config/environments/production.rb
376
- - spec/dummy/config/environments/test.rb
377
- - spec/dummy/config/initializers/application_controller_renderer.rb
378
368
  - spec/dummy/config/initializers/assets.rb
379
369
  - spec/dummy/config/initializers/backtrace_silencers.rb
380
- - spec/dummy/config/initializers/content_security_policy.rb
381
370
  - spec/dummy/config/initializers/cookies_serializer.rb
382
371
  - spec/dummy/config/initializers/filter_parameter_logging.rb
383
372
  - spec/dummy/config/initializers/inflections.rb
384
373
  - spec/dummy/config/initializers/mime_types.rb
374
+ - spec/dummy/config/initializers/session_store.rb
375
+ - spec/dummy/config/initializers/to_time_preserves_timezone.rb
385
376
  - spec/dummy/config/initializers/wrap_parameters.rb
386
377
  - spec/dummy/config/locales/en.yml
387
- - spec/dummy/config/puma.rb
388
378
  - spec/dummy/config/routes.rb
389
- - spec/dummy/config/spring.rb
390
- - spec/dummy/config/storage.yml
391
- - spec/dummy/db/schema.rb
392
- - spec/dummy/db/test.sqlite3
379
+ - spec/dummy/config/secrets.yml
380
+ - spec/dummy/db/seeds.rb
393
381
  - spec/dummy/lib/assets/.keep
382
+ - spec/dummy/lib/tasks/.keep
394
383
  - spec/dummy/log/.keep
395
- - spec/dummy/package.json
396
384
  - spec/dummy/public/404.html
397
385
  - spec/dummy/public/422.html
398
386
  - spec/dummy/public/500.html
399
- - spec/dummy/public/apple-touch-icon-precomposed.png
400
- - spec/dummy/public/apple-touch-icon.png
401
387
  - spec/dummy/public/favicon.ico
402
- - spec/dummy/storage/.keep
388
+ - spec/dummy/public/robots.txt
389
+ - spec/dummy/vendor/assets/javascripts/.keep
390
+ - spec/dummy/vendor/assets/stylesheets/.keep
403
391
  - spec/features/javascript_spec.rb
404
392
  - spec/rails_helper.rb
405
393
  - spec/raygun/breadcrumbs/breadcrumb_spec.rb
@@ -416,11 +404,11 @@ files:
416
404
  - test/unit/raygun_test.rb
417
405
  - test/unit/resque_failure_test.rb
418
406
  - test/unit/sidekiq_failure_test.rb
419
- homepage: http://raygun.io
407
+ homepage: https://raygun.com
420
408
  licenses:
421
409
  - MIT
422
410
  metadata: {}
423
- post_install_message:
411
+ post_install_message:
424
412
  rdoc_options: []
425
413
  require_paths:
426
414
  - lib
@@ -431,15 +419,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
431
419
  version: '2.0'
432
420
  required_rubygems_version: !ruby/object:Gem::Requirement
433
421
  requirements:
434
- - - ">="
422
+ - - ">"
435
423
  - !ruby/object:Gem::Version
436
- version: '0'
424
+ version: 1.3.1
437
425
  requirements: []
438
- rubyforge_project:
439
- rubygems_version: 2.6.8
440
- signing_key:
426
+ rubygems_version: 3.1.4
427
+ signing_key:
441
428
  specification_version: 4
442
- summary: This gem provides support for Ruby and Ruby on Rails for the Raygun.io error
429
+ summary: This gem provides support for Ruby and Ruby on Rails for the Raygun error
443
430
  reporter
444
431
  test_files:
445
432
  - test/integration/client_test.rb
@@ -1,23 +0,0 @@
1
- module Raygun
2
-
3
- class ItWorksException < StandardError; end
4
-
5
- module Testable
6
-
7
- def track_test_exception
8
- Raygun.configuration.silence_reporting = false
9
- raise ItWorksException.new("Woohoo! Your Raygun<->Ruby connection is set up correctly")
10
- rescue ItWorksException => e
11
- response = Raygun.track_exception(e)
12
-
13
- if response.success?
14
- puts "Success! Now go check your Raygun.io Dashboard"
15
- else
16
- puts "Oh-oh, something went wrong - double check your API key"
17
- puts "API Key - " << Raygun.configuration.api_key << ")"
18
- puts "API Response - " << response
19
- end
20
- end
21
-
22
- end
23
- end
@@ -1 +0,0 @@
1
- 2.5.1
@@ -1,13 +0,0 @@
1
- // Action Cable provides the framework to deal with WebSockets in Rails.
2
- // You can generate new channels where WebSocket features live using the `rails generate channel` command.
3
- //
4
- //= require action_cable
5
- //= require_self
6
- //= require_tree ./channels
7
-
8
- (function() {
9
- this.App || (this.App = {});
10
-
11
- App.cable = ActionCable.createConsumer();
12
-
13
- }).call(this);
@@ -1,4 +0,0 @@
1
- module ApplicationCable
2
- class Channel < ActionCable::Channel::Base
3
- end
4
- end
@@ -1,4 +0,0 @@
1
- module ApplicationCable
2
- class Connection < ActionCable::Connection::Base
3
- end
4
- end
@@ -1,2 +0,0 @@
1
- class ApplicationJob < ActiveJob::Base
2
- end
@@ -1,4 +0,0 @@
1
- class ApplicationMailer < ActionMailer::Base
2
- default from: 'from@example.com'
3
- layout 'mailer'
4
- end
@@ -1,3 +0,0 @@
1
- class ApplicationRecord < ActiveRecord::Base
2
- self.abstract_class = true
3
- end
@@ -1,13 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
- <style>
6
- /* Email styles need to be inline */
7
- </style>
8
- </head>
9
-
10
- <body>
11
- <%= yield %>
12
- </body>
13
- </html>
@@ -1 +0,0 @@
1
- <%= yield %>
@@ -1,31 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'fileutils'
3
- include FileUtils
4
-
5
- # path to your application root.
6
- APP_ROOT = File.expand_path('..', __dir__)
7
-
8
- def system!(*args)
9
- system(*args) || abort("\n== Command #{args} failed ==")
10
- end
11
-
12
- chdir APP_ROOT do
13
- # This script is a way to update your development environment automatically.
14
- # Add necessary update steps to this file.
15
-
16
- puts '== Installing dependencies =='
17
- system! 'gem install bundler --conservative'
18
- system('bundle check') || system!('bundle install')
19
-
20
- # Install JavaScript dependencies if using Yarn
21
- # system('bin/yarn')
22
-
23
- puts "\n== Updating database =="
24
- system! 'bin/rails db:migrate'
25
-
26
- puts "\n== Removing old logs and tempfiles =="
27
- system! 'bin/rails log:clear tmp:clear'
28
-
29
- puts "\n== Restarting application server =="
30
- system! 'bin/rails restart'
31
- end