raygun4ruby 3.0.0 → 3.1.0

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.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rspec +1 -0
  4. data/.travis.yml +0 -2
  5. data/CHANGELOG.md +5 -0
  6. data/Rakefile +9 -2
  7. data/lib/raygun.rb +2 -0
  8. data/lib/raygun/configuration.rb +6 -0
  9. data/lib/raygun/javascript_tracker.rb +42 -0
  10. data/lib/raygun/middleware/javascript_exception_tracking.rb +30 -0
  11. data/lib/raygun/railtie.rb +2 -1
  12. data/lib/raygun/version.rb +1 -1
  13. data/raygun4ruby.gemspec +8 -1
  14. data/spec/dummy/.ruby-version +1 -0
  15. data/spec/dummy/Rakefile +6 -0
  16. data/spec/dummy/app/assets/config/manifest.js +3 -0
  17. data/spec/dummy/app/assets/images/.keep +0 -0
  18. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  19. data/spec/dummy/app/assets/javascripts/cable.js +13 -0
  20. data/spec/dummy/app/assets/javascripts/channels/.keep +0 -0
  21. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  22. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  23. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  24. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  25. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  26. data/spec/dummy/app/controllers/home_controller.rb +4 -0
  27. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  28. data/spec/dummy/app/jobs/application_job.rb +2 -0
  29. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  30. data/spec/dummy/app/models/application_record.rb +3 -0
  31. data/spec/dummy/app/models/concerns/.keep +0 -0
  32. data/spec/dummy/app/views/home/index.html.erb +3 -0
  33. data/spec/dummy/app/views/home/index.json.erb +1 -0
  34. data/spec/dummy/app/views/layouts/application.html.erb +15 -0
  35. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  36. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  37. data/spec/dummy/bin/bundle +3 -0
  38. data/spec/dummy/bin/rails +4 -0
  39. data/spec/dummy/bin/rake +4 -0
  40. data/spec/dummy/bin/setup +36 -0
  41. data/spec/dummy/bin/update +31 -0
  42. data/spec/dummy/bin/yarn +11 -0
  43. data/spec/dummy/config.ru +5 -0
  44. data/spec/dummy/config/application.rb +18 -0
  45. data/spec/dummy/config/boot.rb +5 -0
  46. data/spec/dummy/config/cable.yml +10 -0
  47. data/spec/dummy/config/database.yml +25 -0
  48. data/spec/dummy/config/environment.rb +5 -0
  49. data/spec/dummy/config/environments/development.rb +61 -0
  50. data/spec/dummy/config/environments/production.rb +94 -0
  51. data/spec/dummy/config/environments/test.rb +46 -0
  52. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  53. data/spec/dummy/config/initializers/assets.rb +14 -0
  54. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  55. data/spec/dummy/config/initializers/content_security_policy.rb +25 -0
  56. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -0
  57. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  58. data/spec/dummy/config/initializers/inflections.rb +16 -0
  59. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  60. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  61. data/spec/dummy/config/locales/en.yml +33 -0
  62. data/spec/dummy/config/puma.rb +34 -0
  63. data/spec/dummy/config/routes.rb +3 -0
  64. data/spec/dummy/config/spring.rb +6 -0
  65. data/spec/dummy/config/storage.yml +34 -0
  66. data/spec/dummy/db/schema.rb +15 -0
  67. data/spec/dummy/db/test.sqlite3 +0 -0
  68. data/spec/dummy/lib/assets/.keep +0 -0
  69. data/spec/dummy/package.json +5 -0
  70. data/spec/dummy/public/404.html +67 -0
  71. data/spec/dummy/public/422.html +67 -0
  72. data/spec/dummy/public/500.html +66 -0
  73. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  74. data/spec/dummy/public/apple-touch-icon.png +0 -0
  75. data/spec/dummy/public/favicon.ico +0 -0
  76. data/spec/dummy/storage/.keep +0 -0
  77. data/spec/features/javascript_spec.rb +48 -0
  78. data/spec/rails_helper.rb +4 -0
  79. data/{specs → spec}/raygun/breadcrumbs/breadcrumb_spec.rb +19 -19
  80. data/{specs → spec}/raygun/breadcrumbs/store_spec.rb +21 -23
  81. data/{specs → spec}/raygun/raygun_spec.rb +5 -8
  82. data/{specs → spec}/services/apply_whitelist_filter_to_payload_spec.rb +9 -9
  83. data/spec/spec_helper.rb +24 -0
  84. data/spec/support/fake_logger.rb +17 -0
  85. data/test/test_helper.rb +1 -0
  86. data/test/unit/configuration_test.rb +12 -0
  87. metadata +163 -9
  88. data/specs/spec_helper.rb +0 -29
@@ -1,6 +1,4 @@
1
- require "minitest/autorun"
2
- require "minitest/pride"
3
- require_relative "../../spec_helper"
1
+ require "spec_helper"
4
2
 
5
3
  module Raygun
6
4
  module Breadcrumbs
@@ -10,39 +8,39 @@ module Raygun
10
8
 
11
9
  describe "#initialize" do
12
10
  before do
13
- subject.stored.must_equal(nil)
11
+ expect(subject.stored).to eq(nil)
14
12
 
15
13
  subject.initialize
16
14
  end
17
15
 
18
16
  it "creates the store on the current Thread" do
19
- subject.stored.must_equal([])
17
+ expect(subject.stored).to eq([])
20
18
  end
21
19
 
22
20
  it "does not effect other threads" do
23
21
  Thread.new do
24
- subject.stored.must_equal(nil)
22
+ expect(subject.stored).to eq(nil)
25
23
  end.join
26
24
  end
27
25
  end
28
26
 
29
- describe "any?" do
27
+ describe "#any?" do
30
28
  it "returns true if any breadcrumbs have been logged" do
31
29
  subject.initialize
32
30
 
33
31
  subject.record(message: "test")
34
32
 
35
- subject.any?.must_equal(true)
33
+ expect(subject.any?).to eq(true)
36
34
  end
37
35
 
38
36
  it "returns false if none have been logged" do
39
37
  subject.initialize
40
38
 
41
- subject.any?.must_equal(false)
39
+ expect(subject.any?).to eq(false)
42
40
  end
43
41
 
44
42
  it "returns false if the store is uninitialized" do
45
- subject.any?.must_equal(false)
43
+ expect(subject.any?).to eq(false)
46
44
  end
47
45
  end
48
46
 
@@ -54,18 +52,18 @@ module Raygun
54
52
  it "resets the store back to nil" do
55
53
  subject.clear
56
54
 
57
- subject.stored.must_equal(nil)
55
+ expect(subject.stored).to eq(nil)
58
56
  end
59
57
  end
60
58
 
61
59
  describe "#should_record?" do
62
60
  it "returns false when the log level is above the breadcrumbs level" do
63
- Raygun.configuration.stubs(:breadcrumb_level).returns(:error)
61
+ allow(Raygun.configuration).to receive(:breadcrumb_level).and_return(:error)
64
62
 
65
63
  crumb = Breadcrumb.new
66
64
  crumb.level = :warning
67
65
 
68
- assert_equal false, subject.send(:should_record?, crumb)
66
+ expect(subject.send(:should_record?, crumb)).to eq(false)
69
67
  end
70
68
  end
71
69
 
@@ -86,28 +84,28 @@ module Raygun
86
84
  it "gets stored" do
87
85
  subject.record(message: "test")
88
86
 
89
- subject.stored.length.must_equal(1)
90
- subject.stored[0].message.must_equal("test")
87
+ expect(subject.stored.length).to eq(1)
88
+ expect(subject.stored[0].message).to eq("test")
91
89
  end
92
90
 
93
91
  it "automatically sets the class name" do
94
92
  Foo.new.bar
95
93
 
96
94
  bc = subject.stored[0]
97
- bc.class_name.must_equal("Raygun::Breadcrumbs::Foo")
95
+ expect(bc.class_name).to eq("Raygun::Breadcrumbs::Foo")
98
96
  end
99
97
 
100
98
  it "automatically sets the method name" do
101
99
  Foo.new.bar
102
100
 
103
101
  bc = subject.stored[0]
104
- bc.method_name.must_equal("bar")
102
+ expect(bc.method_name).to eq("bar")
105
103
  end
106
104
 
107
105
  it "does not set the method name if it is already set" do
108
106
  subject.record(message: 'test', method_name: "foo")
109
107
 
110
- subject.stored[0].method_name.must_equal("foo")
108
+ expect(subject.stored[0].method_name).to eq("foo")
111
109
  end
112
110
 
113
111
 
@@ -116,7 +114,7 @@ module Raygun
116
114
  Foo.new.bar
117
115
 
118
116
  bc = subject.stored[0]
119
- bc.timestamp.must_equal(Time.now.utc.to_i)
117
+ expect(bc.timestamp).to eq(Time.now.utc.to_i)
120
118
  end
121
119
  end
122
120
 
@@ -126,21 +124,21 @@ module Raygun
126
124
  Timecop.freeze do
127
125
  subject.record(message: 'test', timestamp: time)
128
126
 
129
- subject.stored[0].timestamp.wont_equal(Time.now.utc)
127
+ expect(subject.stored[0].timestamp).to_not eq(Time.now.utc)
130
128
  end
131
129
  end
132
130
 
133
131
  it "sets the log level to :info if one is not supplied" do
134
132
  Foo.new.bar
135
133
 
136
- subject.stored[0].level.must_equal(:info)
134
+ expect(subject.stored[0].level).to eq(:info)
137
135
  end
138
136
 
139
137
  it "does not record the breadcrumb if should_record? is false" do
140
- subject.stubs(:should_record?).returns(false)
138
+ expect(subject).to receive(:should_record?).and_return(false)
141
139
  Foo.new.bar
142
140
 
143
- subject.stored.length.must_equal(0)
141
+ expect(subject.stored.length).to eq(0)
144
142
  end
145
143
  end
146
144
  end
@@ -1,5 +1,4 @@
1
- require_relative '../spec_helper'
2
- require 'stringio'
1
+ require 'spec_helper'
3
2
 
4
3
  describe Raygun do
5
4
  let(:failsafe_logger) { FakeLogger.new }
@@ -8,6 +7,7 @@ describe Raygun do
8
7
  context 'send in background' do
9
8
  before do
10
9
  Raygun.setup do |c|
10
+ c.silence_reporting = false
11
11
  c.send_in_background = true
12
12
  c.api_url = 'http://example.api'
13
13
  c.api_key = 'foo'
@@ -28,23 +28,20 @@ describe Raygun do
28
28
 
29
29
  # Occasionally doesn't write to the failsafe logger, add small timeout to add some safety
30
30
  sleep 0.1
31
- failsafe_logger.get.must_match /Problem reporting exception to Raygun/
31
+ expect(failsafe_logger.get).to match /Problem reporting exception to Raygun/
32
32
  end
33
33
  end
34
34
  end
35
35
  end
36
36
 
37
37
  describe '#reset_configuration' do
38
+ subject { Raygun.reset_configuration }
38
39
  it 'clears any customized configuration options' do
39
40
  Raygun.setup do |c|
40
41
  c.api_url = 'http://test.api'
41
42
  end
42
43
 
43
- Raygun.configuration.api_url.must_equal 'http://test.api'
44
-
45
- Raygun.reset_configuration
46
-
47
- Raygun.configuration.api_url.must_equal Raygun.default_configuration.api_url
44
+ expect { subject }.to change { Raygun.configuration.api_url }.from('http://test.api').to(Raygun.default_configuration.api_url)
48
45
  end
49
46
  end
50
47
  end
@@ -1,4 +1,4 @@
1
- require_relative "../spec_helper"
1
+ require "spec_helper"
2
2
 
3
3
  module Raygun
4
4
  module Services
@@ -20,7 +20,7 @@ module Raygun
20
20
 
21
21
  new_payload = service.call(shape, payload)
22
22
 
23
- new_payload.must_equal(expected)
23
+ expect(new_payload).to eq(expected)
24
24
  end
25
25
 
26
26
  it "filters out keys that are set to false" do
@@ -31,7 +31,7 @@ module Raygun
31
31
 
32
32
  new_payload = service.call(shape, payload)
33
33
 
34
- new_payload.must_equal(expected)
34
+ expect(new_payload).to eq(expected)
35
35
  end
36
36
  end
37
37
 
@@ -61,7 +61,7 @@ module Raygun
61
61
 
62
62
  new_payload = service.call(shape, payload)
63
63
 
64
- new_payload.must_equal(expected)
64
+ expect(new_payload).to eq(expected)
65
65
  end
66
66
 
67
67
  it "filters out a nested hash if the whitelist does not contain it" do
@@ -72,7 +72,7 @@ module Raygun
72
72
 
73
73
  new_payload = service.call(shape, payload)
74
74
 
75
- new_payload.must_equal(expected)
75
+ expect(new_payload).to eq(expected)
76
76
  end
77
77
 
78
78
  it "handles nested hashes when the whitelist is set to allow the whole hash" do
@@ -89,7 +89,7 @@ module Raygun
89
89
 
90
90
  new_payload = service.call(shape, payload)
91
91
 
92
- new_payload.must_equal(expected)
92
+ expect(new_payload).to eq(expected)
93
93
  end
94
94
 
95
95
  it "handles nested hashes when the whitelist is set to not allow the whole hash" do
@@ -104,7 +104,7 @@ module Raygun
104
104
 
105
105
  new_payload = service.call(shape, payload)
106
106
 
107
- new_payload.must_equal(expected)
107
+ expect(new_payload).to eq(expected)
108
108
  end
109
109
  end
110
110
 
@@ -124,7 +124,7 @@ module Raygun
124
124
 
125
125
  new_payload = service.call(shape, payload)
126
126
 
127
- new_payload.must_equal(expected)
127
+ expect(new_payload).to eq(expected)
128
128
  end
129
129
  end
130
130
 
@@ -244,7 +244,7 @@ module Raygun
244
244
 
245
245
  new_payload = service.call(shape, payload)
246
246
 
247
- new_payload.must_equal(expected)
247
+ expect(new_payload).to eq(expected)
248
248
  end
249
249
  end
250
250
  end
@@ -0,0 +1,24 @@
1
+ #require 'rubygems'
2
+
3
+ require 'timecop'
4
+ require 'webmock/rspec'
5
+
6
+ # Coverage
7
+ require 'simplecov'
8
+ SimpleCov.start do
9
+ add_filter '/spec/'
10
+ end
11
+
12
+ require 'support/fake_logger'
13
+
14
+ RSpec.configure do |config|
15
+ # Enable flags like --only-failures and --next-failure
16
+ # config.example_status_persistence_file_path = ".rspec_status"
17
+
18
+ # Disable RSpec exposing methods globally on `Module` and `main`
19
+ # config.disable_monkey_patching!
20
+
21
+ config.expect_with :rspec do |c|
22
+ c.syntax = :expect
23
+ end
24
+ end
@@ -0,0 +1,17 @@
1
+ class FakeLogger
2
+ def initialize
3
+ @logger = StringIO.new
4
+ end
5
+
6
+ def info(message)
7
+ @logger.write(message)
8
+ end
9
+
10
+ def reset
11
+ @logger.string = ""
12
+ end
13
+
14
+ def get
15
+ @logger.string
16
+ end
17
+ end
data/test/test_helper.rb CHANGED
@@ -5,6 +5,7 @@ require "minitest/pride"
5
5
  require "timecop"
6
6
  require "mocha/mini_test"
7
7
  require 'stringio'
8
+ require 'webmock/minitest'
8
9
 
9
10
  class FakeLogger
10
11
  def initialize
@@ -25,6 +25,18 @@ class ConfigurationTest < Raygun::UnitTest
25
25
  assert_equal 9.9, Raygun.configuration[:version]
26
26
  end
27
27
 
28
+ def test_set_js_api_key
29
+ Raygun.configuration.js_api_key = "a test js api key"
30
+
31
+ assert_equal "a test js api key", Raygun.configuration.js_api_key
32
+ end
33
+
34
+ def test_set_js_api_version
35
+ Raygun.configuration.js_api_version = "a test js api version"
36
+
37
+ assert_equal "a test js api version", Raygun.configuration.js_api_version
38
+ end
39
+
28
40
  def test_enable_reporting
29
41
  Raygun.configuration.enable_reporting = false
30
42
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: raygun4ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mindscape
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-12-17 00:00:00.000000000 Z
12
+ date: 2019-01-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -115,14 +115,14 @@ dependencies:
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '4.2'
118
+ version: '5.11'
119
119
  type: :development
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '4.2'
125
+ version: '5.11'
126
126
  - !ruby/object:Gem::Dependency
127
127
  name: redis-namespace
128
128
  requirement: !ruby/object:Gem::Requirement
@@ -213,6 +213,90 @@ dependencies:
213
213
  - - ">="
214
214
  - !ruby/object:Gem::Version
215
215
  version: '0'
216
+ - !ruby/object:Gem::Dependency
217
+ name: rails
218
+ requirement: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - '='
221
+ - !ruby/object:Gem::Version
222
+ version: '5.2'
223
+ type: :development
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - '='
228
+ - !ruby/object:Gem::Version
229
+ version: '5.2'
230
+ - !ruby/object:Gem::Dependency
231
+ name: sqlite3
232
+ requirement: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ type: :development
238
+ prerelease: false
239
+ version_requirements: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - ">="
242
+ - !ruby/object:Gem::Version
243
+ version: '0'
244
+ - !ruby/object:Gem::Dependency
245
+ name: capybara
246
+ requirement: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ type: :development
252
+ prerelease: false
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ - !ruby/object:Gem::Dependency
259
+ name: rspec-rails
260
+ requirement: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: '0'
265
+ type: :development
266
+ prerelease: false
267
+ version_requirements: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ - !ruby/object:Gem::Dependency
273
+ name: launchy
274
+ requirement: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
277
+ - !ruby/object:Gem::Version
278
+ version: '0'
279
+ type: :development
280
+ prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - ">="
284
+ - !ruby/object:Gem::Version
285
+ version: '0'
286
+ - !ruby/object:Gem::Dependency
287
+ name: simplecov
288
+ requirement: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ type: :development
294
+ prerelease: false
295
+ version_requirements: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
216
300
  description: Ruby Adapter for Raygun.io
217
301
  email:
218
302
  - hello@raygun.io
@@ -221,6 +305,7 @@ extensions: []
221
305
  extra_rdoc_files: []
222
306
  files:
223
307
  - ".gitignore"
308
+ - ".rspec"
224
309
  - ".travis.yml"
225
310
  - CHANGELOG.md
226
311
  - Gemfile
@@ -237,7 +322,9 @@ files:
237
322
  - lib/raygun/client.rb
238
323
  - lib/raygun/configuration.rb
239
324
  - lib/raygun/error.rb
325
+ - lib/raygun/javascript_tracker.rb
240
326
  - lib/raygun/middleware/breadcrumbs_store_initializer.rb
327
+ - lib/raygun/middleware/javascript_exception_tracking.rb
241
328
  - lib/raygun/middleware/rack_exception_interceptor.rb
242
329
  - lib/raygun/middleware/rails_insert_affected_user.rb
243
330
  - lib/raygun/railtie.rb
@@ -249,11 +336,78 @@ files:
249
336
  - lib/resque/failure/raygun.rb
250
337
  - lib/tasks/raygun.tasks
251
338
  - raygun4ruby.gemspec
252
- - specs/raygun/breadcrumbs/breadcrumb_spec.rb
253
- - specs/raygun/breadcrumbs/store_spec.rb
254
- - specs/raygun/raygun_spec.rb
255
- - specs/services/apply_whitelist_filter_to_payload_spec.rb
256
- - specs/spec_helper.rb
339
+ - spec/dummy/.ruby-version
340
+ - spec/dummy/Rakefile
341
+ - spec/dummy/app/assets/config/manifest.js
342
+ - spec/dummy/app/assets/images/.keep
343
+ - spec/dummy/app/assets/javascripts/application.js
344
+ - spec/dummy/app/assets/javascripts/cable.js
345
+ - spec/dummy/app/assets/javascripts/channels/.keep
346
+ - 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
+ - spec/dummy/app/controllers/application_controller.rb
350
+ - spec/dummy/app/controllers/concerns/.keep
351
+ - spec/dummy/app/controllers/home_controller.rb
352
+ - 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
356
+ - spec/dummy/app/models/concerns/.keep
357
+ - spec/dummy/app/views/home/index.html.erb
358
+ - spec/dummy/app/views/home/index.json.erb
359
+ - 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
+ - spec/dummy/bin/bundle
363
+ - spec/dummy/bin/rails
364
+ - spec/dummy/bin/rake
365
+ - spec/dummy/bin/setup
366
+ - spec/dummy/bin/update
367
+ - spec/dummy/bin/yarn
368
+ - spec/dummy/config.ru
369
+ - spec/dummy/config/application.rb
370
+ - spec/dummy/config/boot.rb
371
+ - spec/dummy/config/cable.yml
372
+ - spec/dummy/config/database.yml
373
+ - spec/dummy/config/environment.rb
374
+ - spec/dummy/config/environments/development.rb
375
+ - spec/dummy/config/environments/production.rb
376
+ - spec/dummy/config/environments/test.rb
377
+ - spec/dummy/config/initializers/application_controller_renderer.rb
378
+ - spec/dummy/config/initializers/assets.rb
379
+ - spec/dummy/config/initializers/backtrace_silencers.rb
380
+ - spec/dummy/config/initializers/content_security_policy.rb
381
+ - spec/dummy/config/initializers/cookies_serializer.rb
382
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
383
+ - spec/dummy/config/initializers/inflections.rb
384
+ - spec/dummy/config/initializers/mime_types.rb
385
+ - spec/dummy/config/initializers/wrap_parameters.rb
386
+ - spec/dummy/config/locales/en.yml
387
+ - spec/dummy/config/puma.rb
388
+ - 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
393
+ - spec/dummy/lib/assets/.keep
394
+ - spec/dummy/log/.keep
395
+ - spec/dummy/package.json
396
+ - spec/dummy/public/404.html
397
+ - spec/dummy/public/422.html
398
+ - spec/dummy/public/500.html
399
+ - spec/dummy/public/apple-touch-icon-precomposed.png
400
+ - spec/dummy/public/apple-touch-icon.png
401
+ - spec/dummy/public/favicon.ico
402
+ - spec/dummy/storage/.keep
403
+ - spec/features/javascript_spec.rb
404
+ - spec/rails_helper.rb
405
+ - spec/raygun/breadcrumbs/breadcrumb_spec.rb
406
+ - spec/raygun/breadcrumbs/store_spec.rb
407
+ - spec/raygun/raygun_spec.rb
408
+ - spec/services/apply_whitelist_filter_to_payload_spec.rb
409
+ - spec/spec_helper.rb
410
+ - spec/support/fake_logger.rb
257
411
  - test/integration/client_test.rb
258
412
  - test/test_helper.rb
259
413
  - test/unit/affected_user_test.rb