bugsnag 6.11.1 → 6.12.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 (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/CONTRIBUTING.md +6 -1
  4. data/Gemfile +18 -11
  5. data/README.md +3 -3
  6. data/UPGRADING.md +22 -0
  7. data/VERSION +1 -1
  8. data/features/fixtures/docker-compose.yml +37 -0
  9. data/features/fixtures/rails3/app/Gemfile +1 -1
  10. data/features/fixtures/rails4/app/Gemfile +1 -1
  11. data/features/fixtures/rails5/app/Gemfile +1 -1
  12. data/features/fixtures/rails6/.dockerignore +1 -0
  13. data/features/fixtures/rails6/Dockerfile +26 -0
  14. data/features/fixtures/rails6/app/.browserslistrc +1 -0
  15. data/features/fixtures/rails6/app/.gitignore +35 -0
  16. data/features/fixtures/rails6/app/.ruby-version +1 -0
  17. data/features/fixtures/rails6/app/Gemfile +57 -0
  18. data/features/fixtures/rails6/app/README.md +24 -0
  19. data/features/fixtures/rails6/app/Rakefile +6 -0
  20. data/features/fixtures/rails6/app/app/assets/config/manifest.js +2 -0
  21. data/features/fixtures/rails6/app/app/assets/images/.keep +0 -0
  22. data/features/fixtures/rails6/app/app/assets/stylesheets/application.css +15 -0
  23. data/features/fixtures/rails6/app/app/channels/application_cable/channel.rb +4 -0
  24. data/features/fixtures/rails6/app/app/channels/application_cable/connection.rb +4 -0
  25. data/features/fixtures/rails6/app/app/controllers/api_key_controller.rb +16 -0
  26. data/features/fixtures/rails6/app/app/controllers/app_type_controller.rb +16 -0
  27. data/features/fixtures/rails6/app/app/controllers/app_version_controller.rb +21 -0
  28. data/features/fixtures/rails6/app/app/controllers/application_controller.rb +7 -0
  29. data/features/fixtures/rails6/app/app/controllers/auto_notify_controller.rb +27 -0
  30. data/features/fixtures/rails6/app/app/controllers/before_notify_controller.rb +40 -0
  31. data/features/fixtures/rails6/app/app/controllers/breadcrumbs_controller.rb +24 -0
  32. data/features/fixtures/rails6/app/app/controllers/clearance_controller.rb +33 -0
  33. data/features/fixtures/rails6/app/app/controllers/concerns/.keep +0 -0
  34. data/features/fixtures/rails6/app/app/controllers/handled_controller.rb +22 -0
  35. data/features/fixtures/rails6/app/app/controllers/ignore_classes_controller.rb +19 -0
  36. data/features/fixtures/rails6/app/app/controllers/metadata_filters_controller.rb +12 -0
  37. data/features/fixtures/rails6/app/app/controllers/project_root_controller.rb +21 -0
  38. data/features/fixtures/rails6/app/app/controllers/release_stage_controller.rb +16 -0
  39. data/features/fixtures/rails6/app/app/controllers/send_code_controller.rb +16 -0
  40. data/features/fixtures/rails6/app/app/controllers/send_environment_controller.rb +8 -0
  41. data/features/fixtures/rails6/app/app/controllers/session_tracking_controller.rb +20 -0
  42. data/features/fixtures/rails6/app/app/controllers/unhandled_controller.rb +7 -0
  43. data/features/fixtures/rails6/app/app/helpers/application_helper.rb +2 -0
  44. data/features/fixtures/rails6/app/app/javascript/channels/consumer.js +6 -0
  45. data/features/fixtures/rails6/app/app/javascript/channels/index.js +5 -0
  46. data/features/fixtures/rails6/app/app/javascript/packs/application.js +9 -0
  47. data/features/fixtures/rails6/app/app/jobs/application_job.rb +7 -0
  48. data/features/fixtures/rails6/app/app/jobs/notify_job.rb +5 -0
  49. data/features/fixtures/rails6/app/app/mailers/application_mailer.rb +4 -0
  50. data/features/fixtures/rails6/app/app/models/application_record.rb +3 -0
  51. data/features/fixtures/rails6/app/app/models/concerns/.keep +0 -0
  52. data/features/fixtures/rails6/app/app/models/user.rb +3 -0
  53. data/features/fixtures/rails6/app/app/views/layouts/application.html.erb +15 -0
  54. data/features/fixtures/rails6/app/app/views/layouts/mailer.html.erb +13 -0
  55. data/features/fixtures/rails6/app/app/views/layouts/mailer.text.erb +1 -0
  56. data/features/fixtures/rails6/app/babel.config.js +70 -0
  57. data/features/fixtures/rails6/app/config.ru +5 -0
  58. data/features/fixtures/rails6/app/config/application.rb +19 -0
  59. data/features/fixtures/rails6/app/config/boot.rb +4 -0
  60. data/features/fixtures/rails6/app/config/cable.yml +13 -0
  61. data/features/fixtures/rails6/app/config/credentials.yml.enc +1 -0
  62. data/features/fixtures/rails6/app/config/database.yml +29 -0
  63. data/features/fixtures/rails6/app/config/environment.rb +5 -0
  64. data/features/fixtures/rails6/app/config/environments/development.rb +62 -0
  65. data/features/fixtures/rails6/app/config/environments/production.rb +112 -0
  66. data/features/fixtures/rails6/app/config/environments/rails_env.rb +55 -0
  67. data/features/fixtures/rails6/app/config/environments/test.rb +47 -0
  68. data/features/fixtures/rails6/app/config/initializers/application_controller_renderer.rb +8 -0
  69. data/features/fixtures/rails6/app/config/initializers/assets.rb +14 -0
  70. data/features/fixtures/rails6/app/config/initializers/backtrace_silencers.rb +7 -0
  71. data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +20 -0
  72. data/features/fixtures/rails6/app/config/initializers/content_security_policy.rb +27 -0
  73. data/features/fixtures/rails6/app/config/initializers/cookies_serializer.rb +5 -0
  74. data/features/fixtures/rails6/app/config/initializers/filter_parameter_logging.rb +5 -0
  75. data/features/fixtures/rails6/app/config/initializers/inflections.rb +16 -0
  76. data/features/fixtures/rails6/app/config/initializers/mime_types.rb +4 -0
  77. data/features/fixtures/rails6/app/config/initializers/wrap_parameters.rb +14 -0
  78. data/features/fixtures/rails6/app/config/locales/en.yml +33 -0
  79. data/features/fixtures/rails6/app/config/puma.rb +35 -0
  80. data/features/fixtures/rails6/app/config/routes.rb +58 -0
  81. data/features/fixtures/rails6/app/config/secrets.yml +25 -0
  82. data/features/fixtures/rails6/app/config/spring.rb +6 -0
  83. data/features/fixtures/rails6/app/config/storage.yml +34 -0
  84. data/features/fixtures/rails6/app/config/webpack/development.js +5 -0
  85. data/features/fixtures/rails6/app/config/webpack/environment.js +3 -0
  86. data/features/fixtures/rails6/app/config/webpack/production.js +5 -0
  87. data/features/fixtures/rails6/app/config/webpack/rails_env.js +5 -0
  88. data/features/fixtures/rails6/app/config/webpack/test.js +5 -0
  89. data/features/fixtures/rails6/app/config/webpacker.yml +121 -0
  90. data/features/fixtures/rails6/app/db/migrate/20180426095545_create_users.rb +17 -0
  91. data/features/fixtures/rails6/app/db/schema.rb +29 -0
  92. data/features/fixtures/rails6/app/db/seeds.rb +7 -0
  93. data/features/fixtures/rails6/app/lib/assets/.keep +0 -0
  94. data/features/fixtures/rails6/app/lib/tasks/.keep +0 -0
  95. data/features/fixtures/rails6/app/log/.keep +0 -0
  96. data/features/fixtures/rails6/app/package.json +15 -0
  97. data/features/fixtures/rails6/app/postcss.config.js +12 -0
  98. data/features/fixtures/rails6/app/public/404.html +67 -0
  99. data/features/fixtures/rails6/app/public/422.html +67 -0
  100. data/features/fixtures/rails6/app/public/500.html +66 -0
  101. data/features/fixtures/rails6/app/public/apple-touch-icon-precomposed.png +0 -0
  102. data/features/fixtures/rails6/app/public/apple-touch-icon.png +0 -0
  103. data/features/fixtures/rails6/app/public/favicon.ico +0 -0
  104. data/features/fixtures/rails6/app/public/robots.txt +1 -0
  105. data/features/fixtures/rails6/app/storage/.keep +0 -0
  106. data/features/fixtures/rails6/app/test/application_system_test_case.rb +5 -0
  107. data/features/fixtures/rails6/app/test/channels/application_cable/connection_test.rb +11 -0
  108. data/features/fixtures/rails6/app/test/controllers/.keep +0 -0
  109. data/features/fixtures/rails6/app/test/fixtures/.keep +0 -0
  110. data/features/fixtures/rails6/app/test/fixtures/files/.keep +0 -0
  111. data/features/fixtures/rails6/app/test/helpers/.keep +0 -0
  112. data/features/fixtures/rails6/app/test/integration/.keep +0 -0
  113. data/features/fixtures/rails6/app/test/mailers/.keep +0 -0
  114. data/features/fixtures/rails6/app/test/models/.keep +0 -0
  115. data/features/fixtures/rails6/app/test/system/.keep +0 -0
  116. data/features/fixtures/rails6/app/test/test_helper.rb +13 -0
  117. data/features/fixtures/rails6/app/tmp/.keep +0 -0
  118. data/features/fixtures/rails6/app/yarn.lock +6082 -0
  119. data/features/rails_features/api_key.feature +3 -1
  120. data/features/rails_features/app_type.feature +3 -1
  121. data/features/rails_features/app_version.feature +4 -1
  122. data/features/rails_features/auto_capture_sessions.feature +5 -1
  123. data/features/rails_features/auto_notify.feature +5 -1
  124. data/features/rails_features/before_notify.feature +3 -0
  125. data/features/rails_features/breadcrumbs.feature +5 -0
  126. data/features/rails_features/handled.feature +3 -0
  127. data/features/rails_features/ignore_classes.feature +3 -1
  128. data/features/rails_features/meta_data_filters.feature +1 -0
  129. data/features/rails_features/project_root.feature +3 -0
  130. data/features/rails_features/release_stage.feature +4 -1
  131. data/features/rails_features/send_code.feature +2 -0
  132. data/features/rails_features/send_environment.feature +2 -1
  133. data/features/rails_features/unhandled.feature +2 -1
  134. data/features/rails_features/user_info.feature +3 -1
  135. data/lib/bugsnag/breadcrumbs/validator.rb +2 -2
  136. data/lib/bugsnag/configuration.rb +4 -0
  137. data/lib/bugsnag/integrations/que.rb +16 -11
  138. data/lib/bugsnag/integrations/rack.rb +4 -1
  139. data/lib/bugsnag/integrations/railtie.rb +1 -0
  140. data/lib/bugsnag/integrations/rake.rb +58 -26
  141. data/lib/bugsnag/integrations/resque.rb +6 -1
  142. data/lib/bugsnag/integrations/sidekiq.rb +1 -0
  143. data/lib/bugsnag/middleware/rails3_request.rb +0 -7
  144. data/lib/bugsnag/report.rb +4 -1
  145. data/lib/bugsnag/session_tracker.rb +2 -1
  146. data/spec/breadcrumbs/validator_spec.rb +1 -0
  147. data/spec/configuration_spec.rb +31 -0
  148. data/spec/fixtures/tasks/Rakefile +12 -0
  149. data/spec/integrations/logger_spec.rb +4 -8
  150. data/spec/integrations/que_spec.rb +35 -1
  151. data/spec/integrations/rack_spec.rb +23 -1
  152. data/spec/integrations/rake_spec.rb +11 -12
  153. data/spec/integrations/resque_spec.rb +8 -1
  154. data/spec/integrations/sidekiq_spec.rb +2 -0
  155. data/spec/report_spec.rb +13 -1
  156. data/spec/session_tracker_spec.rb +1 -0
  157. metadata +110 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4fc49d1de25e741d85e743661a97ed65c14b4c147f6d2ddb5ce80be233aae244
4
- data.tar.gz: b67ad9235232b3eb001475a07cc1698ee44b2c48c6c59acfffda4b88a20ad4c5
3
+ metadata.gz: 76848d78a40984859147d99d39fa5354d3a824e5cec39472cfd35fa2bebbf717
4
+ data.tar.gz: b7ddc9788d1611ea547b6456bd6f144b335182655db3a3921a51c0a2d2f35761
5
5
  SHA512:
6
- metadata.gz: f87742900794a8a7bfc442d80b57366360d00b57e4c1e55667b62d9ee669610b2c35ebd94edacd86526b0b88137df99838f5db3ee54ad8efccd2cfbec1cb1f14
7
- data.tar.gz: 6520b4f661659dacd4ce54acf4a0c75a3815dbe7f667343e377639a5d90d39f3b0e9cc7ab054032a22be50e5c846ad64719c9fb23882840e521dc88602887e9e
6
+ metadata.gz: 609cf0cfe81531b7a43c67d377947857e946ef54a75a9ebf400b2c4177cdf90cd1380bc3207a54f2887412a09a6b874aecfdf6708881978702fb829e812565ca
7
+ data.tar.gz: 1d5978a27aec3bc4f46dee89ad2ddda3ff7b7341c7369986f9bc8938df00dc8c4c353cd378555d4731fce28633fa9cbd531c747ebfdea03148122daafd62ffc2
@@ -1,6 +1,30 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ ## 6.12.0 (28 Aug 2019)
5
+
6
+ ### Enhancements
7
+
8
+ * Add Ruby (and other framework) version strings to report and session payloads (device.runtimeVersions).
9
+ | [560](https://github.com/bugsnag/bugsnag-ruby/pull/560)
10
+
11
+ * Allow symbols in breadcrumb meta data.
12
+ | [#563](https://github.com/bugsnag/bugsnag-ruby/pull/563)
13
+ | [directionless](https://github.com/directionless)
14
+
15
+ ### Fixes
16
+
17
+ * Use `Module#prepend` for Rake integration when on a new enough Ruby version
18
+ to avoid infinite mutual recursion issues when something else monkey patches
19
+ `Rake::Task`.
20
+ | [#556](https://github.com/bugsnag/bugsnag-ruby/issues/556)
21
+ | [#559](https://github.com/bugsnag/bugsnag-ruby/issues/559)
22
+
23
+ * Handle `nil` values for the `job` block parameter for the Que error notifier.
24
+ This occurs under some conditions such as database connection failures.
25
+ | [#545](https://github.com/bugsnag/bugsnag-ruby/issues/545)
26
+ | [#548](https://github.com/bugsnag/bugsnag-ruby/pull/548)
27
+
4
28
  ## 6.11.1 (22 Jan 2019)
5
29
 
6
30
  ### Fixes
@@ -18,7 +18,12 @@ Thank you!
18
18
  - Run the tests with and make sure they all pass
19
19
 
20
20
  ```
21
- rake spec
21
+ bundle exec rake spec
22
+ ```
23
+ - You will need to add the following test dependencies:
24
+
25
+ ```
26
+ bundle install --with test --binstubs
22
27
  ```
23
28
  - For adding a new integration (like support for a web framework or worker
24
29
  queue), include an example in the `example/` directory showing off what
data/Gemfile CHANGED
@@ -1,15 +1,20 @@
1
1
  source "https://rubygems.org"
2
2
 
3
+ ruby_version = Gem::Version.new(RUBY_VERSION)
4
+
3
5
  group :test, optional: true do
4
- gem 'rake', RUBY_VERSION <= '1.9.3' ? '~> 11.3.0' : '~> 12.3.0'
5
- gem 'rspec'
6
- gem 'rspec-mocks'
7
- gem 'rdoc', '~> 5.1.0'
8
- gem 'pry'
9
- gem 'addressable', '~> 2.3.8'
10
- gem 'delayed_job' if RUBY_VERSION >= '2.2.2'
11
- gem 'i18n', RUBY_VERSION <= '2.3.0' ? '1.4.0': '>1.4.0' if RUBY_VERSION >= '2.2.2'
12
- gem 'webmock', RUBY_VERSION <= '1.9.3' ? '2.3.2': '>2.3.2'
6
+ gem 'rake', ruby_version <= Gem::Version.new('1.9.3') ? '~> 11.3.0' : '~> 12.3.0'
7
+ gem 'rspec'
8
+ gem 'rspec-mocks'
9
+ gem 'rdoc', '~> 5.1.0'
10
+ gem 'pry'
11
+ gem 'addressable', '~> 2.3.8'
12
+ if ruby_version >= Gem::Version.new('2.2.2')
13
+ gem 'delayed_job', ruby_version < Gem::Version.new('2.5.0') ? '4.1.7': '>4.1.7'
14
+ gem 'i18n', ruby_version <= Gem::Version.new('2.3.0') ? '1.4.0' : '>1.4.0'
15
+ end
16
+ gem 'webmock', ruby_version <= Gem::Version.new('1.9.3') ? '2.3.2': '>2.3.2'
17
+ gem 'hashdiff', ruby_version <= Gem::Version.new('1.9.3') ? '0.3.8': '>0.3.8'
13
18
  end
14
19
 
15
20
  group :coverage, optional: true do
@@ -22,7 +27,9 @@ group :rubocop, optional: true do
22
27
  end
23
28
 
24
29
  group :sidekiq, optional: true do
25
- gem 'sidekiq', '~> 5.0.4'
30
+ gem 'sidekiq', '~> 5.2.7'
31
+ # redis 4.1.2 dropped support for Ruby 2.2
32
+ gem 'redis', ruby_version < Gem::Version.new('2.3.0') ? '4.1.1' : '>= 4.1.2'
26
33
  end
27
34
 
28
35
  group :doc, optional: true do
@@ -30,7 +37,7 @@ group :doc, optional: true do
30
37
  end
31
38
 
32
39
  group :maze, optional: true do
33
- gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner' if RUBY_VERSION >= '2.0.0'
40
+ gem 'bugsnag-maze-runner', git: 'https://github.com/bugsnag/maze-runner' if ruby_version >= Gem::Version.new('2.0.0')
34
41
  end
35
42
 
36
43
  gemspec
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
- # Bugsnag exception reporter for Ruby
2
- [![build status](https://travis-ci.org/bugsnag/bugsnag-ruby.svg?branch=master)](https://travis-ci.org/bugsnag/bugsnag-ruby)
1
+ # Bugsnag error monitoring & exception reporter for Ruby
2
+ [![build status](https://travis-ci.com/bugsnag/bugsnag-ruby.svg?branch=master)](https://travis-ci.com/bugsnag/bugsnag-ruby)
3
3
 
4
4
 
5
5
  The Bugsnag exception reporter for Ruby gives you instant notification of exceptions thrown from your **[Rails](https://www.bugsnag.com/platforms/rails)**, **Sinatra**, **Rack** or **plain Ruby** app. Any uncaught exceptions will trigger a notification to be sent to your Bugsnag project.
@@ -34,7 +34,7 @@ The Bugsnag exception reporter for Ruby gives you instant notification of except
34
34
  * [Rake](https://docs.bugsnag.com/platforms/ruby/rake/configuration-options)
35
35
  * [Sidekiq](https://docs.bugsnag.com/platforms/ruby/sidekiq/configuration-options)
36
36
  * [Other Ruby apps](https://docs.bugsnag.com/platforms/ruby/other/configuration-options)
37
- * Check out some [example apps integrated with Bugsnag](https://github.com/bugsnag/bugsnag-example-apps/tree/master/apps/ruby) using Rails, Sinatra, Padrino, and more.
37
+ * Check out some [example apps integrated with Bugsnag](https://github.com/bugsnag/bugsnag-ruby/tree/master/example) using Rails, Sinatra, Padrino, and more.
38
38
  * [Search open and closed issues](https://github.com/bugsnag/bugsnag-ruby/issues?utf8=✓&q=is%3Aissue) for similar problems
39
39
  * [Report a bug or request a feature](https://github.com/bugsnag/bugsnag-ruby/issues/new)
40
40
 
@@ -67,3 +67,25 @@ guide](https://docs.bugsnag.com/api/deploy-tracking/capistrano/) for more inform
67
67
  + Bugsnag.configuration.logger.warn "Warn message"
68
68
  + Bugsnag.configuration.logger.debug "Debug message"
69
69
  ```
70
+
71
+ #### Middleware
72
+
73
+ * If you previously accessed objects directly through `notification.exceptions`, this has now moved to `notification.raw_exceptions`
74
+
75
+ ```diff
76
+ class ExampleMiddleware
77
+ def initialize(bugsnag)
78
+ @bugsnag = bugsnag
79
+ end
80
+
81
+ def call(report)
82
+ - exception = report.exceptions.first
83
+ + exception = report.raw_exceptions.first
84
+ status = report.response.status
85
+
86
+ # do stuff
87
+
88
+ @bugsnag.call(report)
89
+ end
90
+ end
91
+ ```
data/VERSION CHANGED
@@ -1 +1 @@
1
- 6.11.1
1
+ 6.12.0
@@ -205,6 +205,43 @@ services:
205
205
  published: 61285
206
206
  restart: "no"
207
207
 
208
+ rails6:
209
+ build:
210
+ context: rails6
211
+ args:
212
+ - RUBY_VERSION
213
+ - APP_PATH
214
+ environment:
215
+ - BUGSNAG_API_KEY
216
+ - http_proxy
217
+ - RAILS_ENV
218
+ - BUGSNAG_APP_TYPE
219
+ - BUGSNAG_APP_VERSION
220
+ - BUGSNAG_AUTO_CAPTURE_SESSIONS
221
+ - BUGSNAG_AUTO_NOTIFY
222
+ - BUGSNAG_ENDPOINT
223
+ - BUGSNAG_IGNORE_CLASS
224
+ - BUGSNAG_IGNORE_MESSAGE
225
+ - BUGSNAG_META_DATA_FILTERS
226
+ - BUGSNAG_NOTIFY_RELEASE_STAGE
227
+ - BUGSNAG_PROJECT_ROOT
228
+ - BUGSNAG_PROXY_HOST
229
+ - BUGSNAG_PROXY_PASSWORD
230
+ - BUGSNAG_PROXY_PORT
231
+ - BUGSNAG_PROXY_USER
232
+ - BUGSNAG_RELEASE_STAGE
233
+ - BUGSNAG_SEND_CODE
234
+ - BUGSNAG_SEND_ENVIRONMENT
235
+ - BUGSNAG_SESSION_ENDPOINT
236
+ - BUGSNAG_TIMEOUT
237
+ - CALLBACK_INITIATOR
238
+ - SQL_ONLY_BREADCRUMBS
239
+ - USE_DEFAULT_AUTO_CAPTURE_SESSIONS
240
+ ports:
241
+ - target: 3000
242
+ published: 61286
243
+ restart: "no"
244
+
208
245
  resque:
209
246
  build:
210
247
  context: resque
@@ -4,7 +4,7 @@ gem 'rails', '3.2.22.5'
4
4
 
5
5
  gem 'nokogiri', '1.6.8'
6
6
 
7
- gem 'sqlite3'
7
+ gem 'sqlite3', '< 1.4'
8
8
 
9
9
  gem 'jquery-rails'
10
10
 
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  gem 'rails', '~>4'
5
5
 
6
6
  # Use sqlite3 as the database for Active Record
7
- gem 'sqlite3'
7
+ gem 'sqlite3', '< 1.4'
8
8
 
9
9
  # Use SCSS for stylesheets
10
10
  gem 'sass-rails', '~> 4.0.0'
@@ -4,7 +4,7 @@ source 'https://rubygems.org'
4
4
  # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
5
5
  gem 'rails', '~> 5.0.0'
6
6
  # Use sqlite3 as the database for Active Record
7
- gem 'sqlite3'
7
+ gem 'sqlite3', '< 1.4'
8
8
  # Use Puma as the app server
9
9
  gem 'puma', '~> 3.0'
10
10
  # Use SCSS for stylesheets
@@ -0,0 +1 @@
1
+ app/Gemfile.lock
@@ -0,0 +1,26 @@
1
+ ARG RUBY_VERSION
2
+ FROM ruby:$RUBY_VERSION
3
+
4
+ RUN apt-get update
5
+
6
+ RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
7
+ RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
8
+
9
+ RUN apt-get install -y nodejs yarn
10
+
11
+ WORKDIR /bugsnag
12
+ COPY temp-bugsnag-lib ./
13
+
14
+ WORKDIR /usr/src/app
15
+ COPY app/Gemfile /usr/src/app/
16
+ RUN bundle install
17
+
18
+ RUN cat Gemfile.lock
19
+
20
+ COPY app/ /usr/src/app
21
+
22
+ RUN bundle exec rake db:migrate
23
+
24
+ RUN bundle exec rake app:update:bin
25
+
26
+ CMD ["bundle", "exec", "bin/rails", "s", "-b", "0.0.0.0"]
@@ -0,0 +1,35 @@
1
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+ /db/*.sqlite3-journal
13
+
14
+ # Ignore all logfiles and tempfiles.
15
+ /log/*
16
+ /tmp/*
17
+ !/log/.keep
18
+ !/tmp/.keep
19
+
20
+ # Ignore uploaded files in development.
21
+ /storage/*
22
+ !/storage/.keep
23
+
24
+ /public/assets
25
+ .byebug_history
26
+
27
+ # Ignore master key for decrypting credentials and more.
28
+ /config/master.key
29
+
30
+ /public/packs
31
+ /public/packs-test
32
+ /node_modules
33
+ /yarn-error.log
34
+ yarn-debug.log*
35
+ .yarn-integrity
@@ -0,0 +1,57 @@
1
+ source 'https://rubygems.org'
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
5
+ gem 'rails', '~> 6.0.0.beta3'
6
+ # Use sqlite3 as the database for Active Record
7
+ gem 'sqlite3', '~> 1.3', '>= 1.3.6'
8
+ # Use Puma as the app server
9
+ gem 'puma', '~> 3.11'
10
+ # Use SCSS for stylesheets
11
+ gem 'sass-rails', '~> 5.0'
12
+ # Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
13
+ gem 'webpacker', '>= 4.0.0.rc.3'
14
+ # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
15
+ gem 'turbolinks', '~> 5'
16
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
17
+ gem 'jbuilder', '~> 2.5'
18
+ # Use Redis adapter to run Action Cable in production
19
+ # gem 'redis', '~> 4.0'
20
+ # Use Active Model has_secure_password
21
+ # gem 'bcrypt', '~> 3.1.7'
22
+
23
+ # Use Active Storage variant
24
+ # gem 'image_processing', '~> 1.2'
25
+
26
+ # Reduces boot times through caching; required in config/boot.rb
27
+ gem 'bootsnap', '>= 1.4.1', require: false
28
+
29
+ group :development, :test do
30
+ # Call 'byebug' anywhere in the code to stop execution and get a debugger console
31
+ gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
32
+ end
33
+
34
+ group :development do
35
+ # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
36
+ gem 'web-console', '>= 3.3.0'
37
+ gem 'listen', '>= 3.0.5', '< 3.2'
38
+ # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
39
+ gem 'spring'
40
+ gem 'spring-watcher-listen', '~> 2.0.0'
41
+ end
42
+
43
+ group :test do
44
+ # Adds support for Capybara system testing and selenium driver
45
+ gem 'capybara', '>= 2.15'
46
+ gem 'selenium-webdriver'
47
+ # Easy installation and use of chromedriver to run system tests with Chrome
48
+ gem 'chromedriver-helper'
49
+ end
50
+
51
+ # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
52
+ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
53
+
54
+ # Added at 2019-04-24 17:24:14 +0100 by amoinet:
55
+ gem "bugsnag", "~> 6.11"
56
+
57
+ gem "clearance", "~> 1.16"
@@ -0,0 +1,24 @@
1
+ # README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require_relative 'config/application'
5
+
6
+ Rails.application.load_tasks
@@ -0,0 +1,2 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../stylesheets .css
@@ -0,0 +1,15 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
6
+ * vendor/assets/stylesheets directory can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
+ *
13
+ *= require_tree .
14
+ *= require_self
15
+ */
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -0,0 +1,16 @@
1
+ class ApiKeyController < ActionController::Base
2
+ protect_from_forgery
3
+
4
+ def environment
5
+ Bugsnag.notify("handled string")
6
+ render json: {}
7
+ end
8
+
9
+ def changing
10
+ Bugsnag.configure do |conf|
11
+ conf.api_key = params[:api_key]
12
+ end
13
+ Bugsnag.notify("handled string")
14
+ render json: {}
15
+ end
16
+ end