bugsnag 6.11.1 → 6.12.0

Sign up to get free protection for your applications and to get access to all the features.
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