airbrake 4.3.8 → 5.0.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 (134) hide show
  1. checksums.yaml +4 -4
  2. data/lib/airbrake/capistrano/tasks.rb +64 -0
  3. data/lib/airbrake/delayed_job/plugin.rb +48 -0
  4. data/lib/airbrake/rack/middleware.rb +45 -0
  5. data/lib/airbrake/rack/notice_builder.rb +80 -0
  6. data/lib/airbrake/rack/user.rb +51 -0
  7. data/lib/airbrake/rails/action_controller.rb +35 -0
  8. data/lib/airbrake/rails/active_job.rb +23 -0
  9. data/lib/airbrake/rails/active_record.rb +40 -0
  10. data/lib/airbrake/rails/railtie.rb +61 -0
  11. data/lib/airbrake/rake/task_ext.rb +61 -0
  12. data/lib/airbrake/rake/tasks.rb +93 -0
  13. data/lib/airbrake/resque/failure.rb +19 -0
  14. data/lib/airbrake/sidekiq/error_handler.rb +35 -0
  15. data/lib/airbrake/version.rb +4 -1
  16. data/lib/airbrake.rb +16 -185
  17. data/lib/generators/airbrake_generator.rb +25 -0
  18. data/lib/generators/airbrake_initializer.rb.erb +55 -0
  19. data/spec/airbrake_spec.rb +0 -0
  20. data/spec/apps/rack/dummy_app.rb +17 -0
  21. data/spec/apps/rails/dummy_app.rb +150 -0
  22. data/spec/apps/rails/dummy_task.rake +20 -0
  23. data/spec/apps/rails/logs/32.log +13358 -0
  24. data/spec/apps/rails/logs/40.log +6854 -0
  25. data/spec/apps/rails/logs/41.log +3170 -0
  26. data/spec/apps/rails/logs/42.log +23919 -0
  27. data/spec/apps/rails/logs/50.log +10976 -0
  28. data/spec/apps/sinatra/dummy_app.rb +12 -0
  29. data/spec/integration/rack/rack_spec.rb +17 -0
  30. data/spec/integration/rails/rails_spec.rb +135 -0
  31. data/spec/integration/rails/rake_spec.rb +160 -0
  32. data/spec/integration/shared_examples/rack_examples.rb +106 -0
  33. data/spec/integration/sinatra/sinatra_spec.rb +15 -0
  34. data/spec/spec_helper.rb +127 -0
  35. data/spec/unit/rack/middleware_spec.rb +80 -0
  36. data/spec/unit/rack/notice_builder_spec.rb +35 -0
  37. data/spec/unit/rack/user_spec.rb +78 -0
  38. data/spec/unit/rake/tasks_spec.rb +40 -0
  39. data/spec/unit/sidekiq/error_handler_spec.rb +29 -0
  40. metadata +108 -323
  41. data/CHANGELOG +0 -1716
  42. data/Gemfile +0 -3
  43. data/Guardfile +0 -6
  44. data/INSTALL +0 -20
  45. data/LICENSE +0 -61
  46. data/README.md +0 -148
  47. data/README_FOR_HEROKU_ADDON.md +0 -102
  48. data/Rakefile +0 -179
  49. data/TESTED_AGAINST +0 -7
  50. data/airbrake.gemspec +0 -41
  51. data/bin/airbrake +0 -12
  52. data/features/metal.feature +0 -34
  53. data/features/rack.feature +0 -60
  54. data/features/rails.feature +0 -324
  55. data/features/rake.feature +0 -33
  56. data/features/sinatra.feature +0 -126
  57. data/features/step_definitions/file_steps.rb +0 -14
  58. data/features/step_definitions/rack_steps.rb +0 -27
  59. data/features/step_definitions/rails_application_steps.rb +0 -267
  60. data/features/step_definitions/rake_steps.rb +0 -22
  61. data/features/support/airbrake_shim.rb.template +0 -11
  62. data/features/support/aruba.rb +0 -5
  63. data/features/support/env.rb +0 -39
  64. data/features/support/matchers.rb +0 -35
  65. data/features/support/rails.rb +0 -156
  66. data/features/support/rake/Rakefile +0 -77
  67. data/features/user_informer.feature +0 -57
  68. data/generators/airbrake/airbrake_generator.rb +0 -94
  69. data/generators/airbrake/lib/insert_commands.rb +0 -34
  70. data/generators/airbrake/lib/rake_commands.rb +0 -24
  71. data/generators/airbrake/templates/airbrake_tasks.rake +0 -25
  72. data/generators/airbrake/templates/capistrano_hook.rb +0 -6
  73. data/generators/airbrake/templates/initializer.rb +0 -4
  74. data/install.rb +0 -1
  75. data/lib/airbrake/backtrace.rb +0 -103
  76. data/lib/airbrake/capistrano.rb +0 -103
  77. data/lib/airbrake/capistrano3.rb +0 -3
  78. data/lib/airbrake/cli/client.rb +0 -76
  79. data/lib/airbrake/cli/options.rb +0 -45
  80. data/lib/airbrake/cli/printer.rb +0 -33
  81. data/lib/airbrake/cli/project.rb +0 -17
  82. data/lib/airbrake/cli/project_factory.rb +0 -33
  83. data/lib/airbrake/cli/runner.rb +0 -49
  84. data/lib/airbrake/cli/validator.rb +0 -8
  85. data/lib/airbrake/configuration.rb +0 -366
  86. data/lib/airbrake/jobs/send_job.rb +0 -7
  87. data/lib/airbrake/notice.rb +0 -411
  88. data/lib/airbrake/rack.rb +0 -64
  89. data/lib/airbrake/rails/action_controller_catcher.rb +0 -32
  90. data/lib/airbrake/rails/controller_methods.rb +0 -146
  91. data/lib/airbrake/rails/error_lookup.rb +0 -35
  92. data/lib/airbrake/rails/middleware.rb +0 -63
  93. data/lib/airbrake/rails.rb +0 -45
  94. data/lib/airbrake/rails3_tasks.rb +0 -126
  95. data/lib/airbrake/railtie.rb +0 -46
  96. data/lib/airbrake/rake_handler.rb +0 -75
  97. data/lib/airbrake/response.rb +0 -29
  98. data/lib/airbrake/sender.rb +0 -213
  99. data/lib/airbrake/shared_tasks.rb +0 -59
  100. data/lib/airbrake/sidekiq.rb +0 -8
  101. data/lib/airbrake/sinatra.rb +0 -40
  102. data/lib/airbrake/tasks/airbrake.cap +0 -28
  103. data/lib/airbrake/tasks.rb +0 -81
  104. data/lib/airbrake/user_informer.rb +0 -36
  105. data/lib/airbrake/utils/params_cleaner.rb +0 -141
  106. data/lib/airbrake/utils/rack_filters.rb +0 -45
  107. data/lib/airbrake_tasks.rb +0 -62
  108. data/lib/rails/generators/airbrake/airbrake_generator.rb +0 -155
  109. data/lib/templates/rescue.erb +0 -91
  110. data/rails/init.rb +0 -1
  111. data/resources/README.md +0 -34
  112. data/resources/airbrake_2_4.xsd +0 -89
  113. data/resources/airbrake_3_0.json +0 -52
  114. data/resources/ca-bundle.crt +0 -3376
  115. data/script/integration_test.rb +0 -35
  116. data/test/airbrake_tasks_test.rb +0 -161
  117. data/test/backtrace_test.rb +0 -215
  118. data/test/capistrano_test.rb +0 -44
  119. data/test/configuration_test.rb +0 -303
  120. data/test/controller_methods_test.rb +0 -230
  121. data/test/helper.rb +0 -233
  122. data/test/integration/catcher_test.rb +0 -371
  123. data/test/integration.rb +0 -13
  124. data/test/logger_test.rb +0 -79
  125. data/test/notice_test.rb +0 -494
  126. data/test/notifier_test.rb +0 -288
  127. data/test/params_cleaner_test.rb +0 -204
  128. data/test/rack_test.rb +0 -62
  129. data/test/rails_initializer_test.rb +0 -36
  130. data/test/recursion_test.rb +0 -10
  131. data/test/response_test.rb +0 -18
  132. data/test/sender_test.rb +0 -335
  133. data/test/support/response_shim.xml +0 -4
  134. data/test/user_informer_test.rb +0 -29
data/resources/README.md DELETED
@@ -1,34 +0,0 @@
1
- Airbrake Resources
2
- ==================
3
-
4
- Airbrake has an SSL mode. SSL Certificate Authority (CA) certificates are not kept current by default on many environments. When CA certs are stale, Airbrake cannot verify Airbrake's production SSL cert and error reports fail. To avoid this, we now package local CA certs. The production of these certs is detailed here.
5
-
6
- Building ca-bundle.crt
7
- ----------------------
8
-
9
- From https://gist.github.com/996292.
10
-
11
- If you want to use curl or net-http/open-uri to access https resources, you will often (always?) get an error, because they don't have the large number of root certificates installed that web browsers have.
12
-
13
- You can manually install the root certs, but first you have to get them from somewhere. [This article](http://notetoself.vrensk.com/2008/09/verified-https-in-ruby/) gives a nice description of how to do that. The [source of the cert files](http://curl.haxx.se/ca/cacert.pem) it points to is hosted by the curl project, who kindly provide it in the .pem format.
14
-
15
- **problem:** Sadly, ironically, and comically, it's not possible to access that file via https! Luckily, the awesome curl project does provide us with the script that they use to produce the file, so we can do it securely ourselves. Here's how.
16
-
17
- 1. `git clone https://github.com/bagder/curl.git`
18
- 2. `cd curl/lib`
19
- 3. edit `mk-ca-bundle.pl` and change:
20
-
21
- ```perl
22
- my $url = 'http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1';
23
- ```
24
-
25
- to
26
-
27
- ```perl
28
- my $url = 'https://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1';
29
- ```
30
-
31
- (change `http` to `https`)
32
- 4. `./mk-ca-bundle.pl`
33
-
34
- Ta da!
@@ -1,89 +0,0 @@
1
- <?xml version="1.0"?>
2
- <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
3
-
4
- <xs:element name="notice">
5
- <xs:complexType>
6
- <xs:all>
7
- <xs:element name="api-key" type="xs:string"/>
8
- <xs:element name="notifier" type="notifier"/>
9
- <xs:element name="error" type="error"/>
10
- <xs:element name="request" type="request" minOccurs="0"/>
11
- <xs:element name="server-environment" type="serverEnvironment"/>
12
- <xs:element name="current-user" type="current-user" minOccurs="0"/>
13
- <xs:element name="framework" type="xs:string" minOccurs="0"/>
14
- </xs:all>
15
- <xs:attribute name="version" type="xs:string" use="required"/>
16
- </xs:complexType>
17
- </xs:element>
18
-
19
- <xs:complexType name="notifier">
20
- <xs:all>
21
- <xs:element name="name" type="xs:string"/>
22
- <xs:element name="version" type="xs:string"/>
23
- <xs:element name="url" type="xs:string"/>
24
- </xs:all>
25
- </xs:complexType>
26
-
27
- <xs:complexType name="error">
28
- <xs:all>
29
- <xs:element name="class" type="xs:string"/>
30
- <xs:element name="message" type="xs:string" minOccurs="0"/>
31
- <xs:element name="backtrace" type="backtrace"/>
32
- </xs:all>
33
- </xs:complexType>
34
-
35
- <xs:complexType name="backtrace">
36
- <xs:sequence>
37
- <xs:element name="line" maxOccurs="unbounded" minOccurs="0">
38
- <xs:complexType>
39
- <xs:attribute name="file" type="xs:string" use="required"/>
40
- <xs:attribute name="number" type="xs:string" use="required"/>
41
- <xs:attribute name="method" type="xs:string" use="optional"/>
42
- </xs:complexType>
43
- </xs:element>
44
- </xs:sequence>
45
- </xs:complexType>
46
-
47
- <xs:complexType name="request">
48
- <xs:all>
49
- <xs:element name="url" type="xs:string"/>
50
- <xs:element name="component" type="xs:string"/>
51
- <xs:element name="action" type="xs:string" minOccurs="0"/>
52
- <xs:element name="params" type="varList" minOccurs="0"/>
53
- <xs:element name="session" type="varList" minOccurs="0"/>
54
- <xs:element name="cgi-data" type="varList" minOccurs="0"/>
55
- </xs:all>
56
- </xs:complexType>
57
-
58
- <xs:complexType name="varList">
59
- <xs:sequence>
60
- <xs:element name="var" type="var" maxOccurs="unbounded"/>
61
- </xs:sequence>
62
- </xs:complexType>
63
-
64
- <xs:complexType name="var" mixed="true">
65
- <xs:sequence>
66
- <xs:element name="var" type="var" minOccurs="0" maxOccurs="unbounded"/>
67
- </xs:sequence>
68
- <xs:attribute name="key" type="xs:string" use="required"/>
69
- </xs:complexType>
70
-
71
- <xs:complexType name="serverEnvironment">
72
- <xs:sequence>
73
- <xs:element name="project-root" type="xs:string" minOccurs="0"/>
74
- <xs:element name="environment-name" type="xs:string"/>
75
- <xs:element name="app-version" type="xs:string" minOccurs="0"/>
76
- <xs:element name="hostname" type="xs:string" minOccurs="0"/>
77
- </xs:sequence>
78
- </xs:complexType>
79
-
80
- <xs:complexType name="current-user">
81
- <xs:all>
82
- <xs:element name="id" type="xs:string"/>
83
- <xs:element name="name" type="xs:string" minOccurs="0"/>
84
- <xs:element name="email" type="xs:string" minOccurs="0"/>
85
- <xs:element name="username" type="xs:string" minOccurs="0"/>
86
- </xs:all>
87
- </xs:complexType>
88
-
89
- </xs:schema>
@@ -1,52 +0,0 @@
1
- {
2
- "type" : "object",
3
- "additionalProperties" : false,
4
- "properties" : {
5
- "notifier" : {
6
- "type" : "hash",
7
- "required" : true,
8
- "additionalProperties" : false,
9
- "properties" : {
10
- "name" : {"type" : "string", "required" : true},
11
- "version" : {"type" : "string", "required" : true},
12
- "url" : {"type" : "string", "required" : true}
13
- }
14
- },
15
- "errors" : {
16
- "type" : "array",
17
- "required" : true,
18
- "items" : {
19
- "type" : [{
20
- "type" : "hash",
21
- "additionalProperties" : false,
22
- "properties" : {
23
- "backtrace" : {"type" : "array", "required" : true},
24
- "type" : {"type" : "string", "required" : true},
25
- "message" : {"type" : "string", "required" : true}
26
- }
27
- }]
28
- }
29
- },
30
- "context" : {
31
- "type" : "hash",
32
- "additionalProperties" : false,
33
- "properties" : {
34
- "os" : {"type" : "string"},
35
- "language" : {"type" : "string"},
36
- "environment" : {"type" : "string"},
37
- "version" : {"type" : "string"},
38
- "url" : {"type" : "string"},
39
- "rootDirectory" : {"type" : "string"},
40
- "userId" : {"type" : "string"},
41
- "userName" : {"type" : "string"},
42
- "userEmail" : {"type" : "string"},
43
- "component" : {"type" : "string"},
44
- "action" : {"type" : "string"}
45
- }
46
- },
47
- "environment" : {"type" : "hash"},
48
- "session" : {"type" : "hash"},
49
- "params" : {"type" : "hash"}
50
- }
51
- }
52
-