airbrake 3.1.6 → 11.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +7 -0
  2. data/lib/airbrake.rb +23 -150
  3. data/lib/airbrake/capistrano.rb +6 -42
  4. data/lib/airbrake/capistrano/capistrano2.rb +40 -0
  5. data/lib/airbrake/capistrano/capistrano3.rb +23 -0
  6. data/lib/airbrake/delayed_job.rb +66 -0
  7. data/lib/airbrake/logger.rb +103 -0
  8. data/lib/airbrake/rack.rb +30 -45
  9. data/lib/airbrake/rack/context_filter.rb +65 -0
  10. data/lib/airbrake/rack/http_headers_filter.rb +44 -0
  11. data/lib/airbrake/rack/http_params_filter.rb +27 -0
  12. data/lib/airbrake/rack/instrumentable.rb +136 -0
  13. data/lib/airbrake/rack/middleware.rb +102 -0
  14. data/lib/airbrake/rack/request_body_filter.rb +33 -0
  15. data/lib/airbrake/rack/request_store.rb +34 -0
  16. data/lib/airbrake/rack/route_filter.rb +51 -0
  17. data/lib/airbrake/rack/session_filter.rb +25 -0
  18. data/lib/airbrake/rack/user.rb +74 -0
  19. data/lib/airbrake/rack/user_filter.rb +25 -0
  20. data/lib/airbrake/rails.rb +25 -31
  21. data/lib/airbrake/rails/action_cable.rb +35 -0
  22. data/lib/airbrake/rails/action_cable/notify_callback.rb +22 -0
  23. data/lib/airbrake/rails/action_controller.rb +40 -0
  24. data/lib/airbrake/rails/action_controller_notify_subscriber.rb +32 -0
  25. data/lib/airbrake/rails/action_controller_performance_breakdown_subscriber.rb +51 -0
  26. data/lib/airbrake/rails/action_controller_route_subscriber.rb +33 -0
  27. data/lib/airbrake/rails/active_job.rb +50 -0
  28. data/lib/airbrake/rails/active_record.rb +36 -0
  29. data/lib/airbrake/rails/active_record_subscriber.rb +46 -0
  30. data/lib/airbrake/rails/app.rb +78 -0
  31. data/lib/airbrake/rails/backtrace_cleaner.rb +23 -0
  32. data/lib/airbrake/rails/curb.rb +32 -0
  33. data/lib/airbrake/rails/event.rb +81 -0
  34. data/lib/airbrake/rails/excon_subscriber.rb +25 -0
  35. data/lib/airbrake/rails/http.rb +14 -0
  36. data/lib/airbrake/rails/http_client.rb +16 -0
  37. data/lib/airbrake/rails/net_http.rb +18 -0
  38. data/lib/airbrake/rails/railtie.rb +151 -0
  39. data/lib/airbrake/rails/typhoeus.rb +16 -0
  40. data/lib/airbrake/rake.rb +65 -0
  41. data/lib/airbrake/rake/tasks.rb +112 -0
  42. data/lib/airbrake/resque.rb +61 -0
  43. data/lib/airbrake/shoryuken.rb +54 -0
  44. data/lib/airbrake/sidekiq.rb +55 -0
  45. data/lib/airbrake/sidekiq/retryable_jobs_filter.rb +53 -0
  46. data/lib/airbrake/sneakers.rb +72 -0
  47. data/lib/airbrake/version.rb +5 -1
  48. data/lib/generators/airbrake_generator.rb +25 -0
  49. data/lib/generators/airbrake_initializer.rb.erb +80 -0
  50. metadata +206 -259
  51. data/CHANGELOG +0 -944
  52. data/Gemfile +0 -3
  53. data/Guardfile +0 -6
  54. data/INSTALL +0 -20
  55. data/MIT-LICENSE +0 -22
  56. data/README.md +0 -556
  57. data/README_FOR_HEROKU_ADDON.md +0 -94
  58. data/Rakefile +0 -223
  59. data/SUPPORTED_RAILS_VERSIONS +0 -38
  60. data/TESTING.md +0 -41
  61. data/airbrake.gemspec +0 -40
  62. data/bin/airbrake +0 -12
  63. data/features/metal.feature +0 -18
  64. data/features/rack.feature +0 -60
  65. data/features/rails.feature +0 -272
  66. data/features/rails_with_js_notifier.feature +0 -97
  67. data/features/rake.feature +0 -27
  68. data/features/sinatra.feature +0 -29
  69. data/features/step_definitions/file_steps.rb +0 -10
  70. data/features/step_definitions/metal_steps.rb +0 -23
  71. data/features/step_definitions/rack_steps.rb +0 -23
  72. data/features/step_definitions/rails_application_steps.rb +0 -478
  73. data/features/step_definitions/rake_steps.rb +0 -17
  74. data/features/support/airbrake_shim.rb.template +0 -16
  75. data/features/support/env.rb +0 -18
  76. data/features/support/matchers.rb +0 -35
  77. data/features/support/rails.rb +0 -201
  78. data/features/support/rake/Rakefile +0 -68
  79. data/features/support/terminal.rb +0 -107
  80. data/features/user_informer.feature +0 -63
  81. data/generators/airbrake/airbrake_generator.rb +0 -94
  82. data/generators/airbrake/lib/insert_commands.rb +0 -34
  83. data/generators/airbrake/lib/rake_commands.rb +0 -24
  84. data/generators/airbrake/templates/airbrake_tasks.rake +0 -25
  85. data/generators/airbrake/templates/capistrano_hook.rb +0 -6
  86. data/generators/airbrake/templates/initializer.rb +0 -6
  87. data/install.rb +0 -1
  88. data/lib/airbrake/backtrace.rb +0 -108
  89. data/lib/airbrake/cli/client.rb +0 -68
  90. data/lib/airbrake/cli/options.rb +0 -41
  91. data/lib/airbrake/cli/printer.rb +0 -30
  92. data/lib/airbrake/cli/project.rb +0 -17
  93. data/lib/airbrake/cli/project_factory.rb +0 -36
  94. data/lib/airbrake/cli/runner.rb +0 -48
  95. data/lib/airbrake/cli/validator.rb +0 -8
  96. data/lib/airbrake/configuration.rb +0 -311
  97. data/lib/airbrake/extensions/blank.rb +0 -73
  98. data/lib/airbrake/notice.rb +0 -390
  99. data/lib/airbrake/rails/action_controller_catcher.rb +0 -30
  100. data/lib/airbrake/rails/controller_methods.rb +0 -87
  101. data/lib/airbrake/rails/error_lookup.rb +0 -33
  102. data/lib/airbrake/rails/javascript_notifier.rb +0 -47
  103. data/lib/airbrake/rails/middleware/exceptions_catcher.rb +0 -33
  104. data/lib/airbrake/rails3_tasks.rb +0 -98
  105. data/lib/airbrake/railtie.rb +0 -48
  106. data/lib/airbrake/rake_handler.rb +0 -71
  107. data/lib/airbrake/sender.rb +0 -128
  108. data/lib/airbrake/shared_tasks.rb +0 -47
  109. data/lib/airbrake/tasks.rb +0 -83
  110. data/lib/airbrake/user_informer.rb +0 -27
  111. data/lib/airbrake_tasks.rb +0 -64
  112. data/lib/rails/generators/airbrake/airbrake_generator.rb +0 -100
  113. data/lib/templates/javascript_notifier.erb +0 -15
  114. data/lib/templates/rescue.erb +0 -91
  115. data/rails/init.rb +0 -1
  116. data/resources/README.md +0 -34
  117. data/resources/ca-bundle.crt +0 -3376
  118. data/script/integration_test.rb +0 -38
  119. data/test/airbrake_2_3.xsd +0 -88
  120. data/test/airbrake_tasks_test.rb +0 -170
  121. data/test/backtrace_test.rb +0 -162
  122. data/test/capistrano_test.rb +0 -34
  123. data/test/catcher_test.rb +0 -333
  124. data/test/configuration_test.rb +0 -233
  125. data/test/helper.rb +0 -263
  126. data/test/javascript_notifier_test.rb +0 -51
  127. data/test/logger_test.rb +0 -79
  128. data/test/notice_test.rb +0 -490
  129. data/test/notifier_test.rb +0 -276
  130. data/test/rack_test.rb +0 -58
  131. data/test/rails_initializer_test.rb +0 -36
  132. data/test/recursion_test.rb +0 -10
  133. data/test/sender_test.rb +0 -288
  134. data/test/user_informer_test.rb +0 -29
@@ -1,94 +0,0 @@
1
- Airbrake on Heroku
2
- ==================
3
-
4
- Send your application errors to our hosted service and reclaim your inbox.
5
-
6
- 1. Installing the Heroku add-on
7
- ----------------------------
8
- To use Airbrake on Heroku, install the Airbrake add-on:
9
-
10
- $ heroku addons:add airbrake:developer # If you'd like another plan, specify that instead.
11
- # Check https://addons.heroku.com/airbrake for a full list of plans.
12
-
13
- 2. Including the Airbrake notifier in your application
14
- --------------------------------------------------
15
- After adding the Airbrake add-on, you will need to install and configure the Airbrake notifier.
16
-
17
- Your application connects to Airbrake with an API key. On Heroku, this is automatically provided to your
18
- application in `ENV['HOPTOAD_API_KEY']`, so installation should be a snap! (Hoptoad is Airbrake's old name.)
19
-
20
- ### Rails 3.x
21
-
22
- Add the airbrake and heroku gems to your Gemfile. In Gemfile:
23
-
24
- gem 'airbrake'
25
- gem 'heroku'
26
-
27
- Then from your project's RAILS_ROOT, run:
28
-
29
- $ bundle install
30
- $ script/rails generate airbrake --heroku
31
-
32
- ### Rails 2.x
33
-
34
- Install the heroku gem if you haven't already:
35
-
36
- gem install heroku
37
-
38
- Add the airbrake gem to your app. In config/environment.rb:
39
-
40
- config.gem 'airbrake'
41
-
42
- Then from your project's RAILS_ROOT, run:
43
-
44
- $ rake gems:install
45
- $ rake gems:unpack GEM=airbrake
46
- $ script/generate airbrake --heroku
47
-
48
- As always, if you choose not to vendor the airbrake gem, make sure
49
- every server you deploy to has the gem installed or your application won't start.
50
-
51
- ### Rack applications
52
-
53
- In order to use airbrake in a non-Rails rack app, just load the airbrake, configure your API key, and use the Airbrake::Rack middleware:
54
-
55
- require 'rubygems'
56
- require 'rack'
57
- require 'airbrake'
58
-
59
- Airbrake.configure do |config|
60
- config.api_key = `ENV['HOPTOAD_API_KEY']`
61
- end
62
-
63
- app = Rack::Builder.app do
64
- use Airbrake::Rack
65
- run lambda { |env| raise "Rack down" }
66
- end
67
-
68
- ### Rails 1.x
69
-
70
- For Rails 1.x, visit the [Airbrake notifier's README on GitHub](http://github.com/thoughtbot/airbrake),
71
- and be sure to use `ENV['HOPTOAD_API_KEY']` where your API key is required in configuration code.
72
-
73
- 3. Configure your notification settings (important!)
74
- ---------------------------------------------------
75
-
76
- Once you have included and configured the notifier in your application,
77
- you will want to configure your notification settings.
78
-
79
- This is important - without setting your email address, you won't receive notification emails.
80
-
81
- Airbrake can deliver exception notifications to your email inbox. To configure these delivery settings:
82
-
83
- 1. Visit your applications resources page, like [ http://api.heroku.com/myapps/my-great-app/resources ](http://api.heroku.com/myapps/my-great-app/resources).
84
- 2. Click the name of your Airbrake addon. (It may still be called Hoptoad.)
85
- 3. Click "Settings" to configure the Hoptoad Add-on.
86
-
87
- 4. Optionally: Set up deploy notification
88
- -----------------------------------------
89
-
90
- If your Airbrake plan supports deploy notification, set it up for your Heroku application like this:
91
-
92
- rake airbrake:heroku:add_deploy_notification
93
-
94
- This will install a Heroku [HTTP Deploy Hook](http://docs.heroku.com/deploy-hooks) to notify Airbrake of the deploy.
data/Rakefile DELETED
@@ -1,223 +0,0 @@
1
- require 'rake'
2
- require 'rake/testtask'
3
- require 'rubygems/package_task'
4
- begin
5
- require 'cucumber/rake/task'
6
- rescue LoadError
7
- $stderr.puts "Please install cucumber: `gem install cucumber`"
8
- exit 1
9
- end
10
- require './lib/airbrake/version'
11
-
12
- FEATURES = ["sinatra","rack","metal","user_informer","rake"]
13
-
14
- desc 'Default: run unit tests.'
15
- task :default => [:test, "cucumber:rails:all"] + FEATURES
16
-
17
- desc "Clean out the tmp directory"
18
- task :clean do
19
- exec "rm -rf tmp"
20
- end
21
-
22
- desc 'Test the airbrake gem.'
23
- Rake::TestTask.new(:test) do |t|
24
- t.libs << 'lib'
25
- t.pattern = 'test/**/*_test.rb'
26
- t.verbose = true
27
- end
28
-
29
- namespace :changeling do
30
- desc "Bumps the version by a minor or patch version, depending on what was passed in."
31
- task :bump, :part do |t, args|
32
- # Thanks, Jeweler!
33
- if Airbrake::VERSION =~ /^(\d+)\.(\d+)\.(\d+)(?:\.(.*?))?$/
34
- major = $1.to_i
35
- minor = $2.to_i
36
- patch = $3.to_i
37
- build = $4
38
- else
39
- abort
40
- end
41
-
42
- case args[:part]
43
- when /minor/
44
- minor += 1
45
- patch = 0
46
- when /patch/
47
- patch += 1
48
- else
49
- abort
50
- end
51
-
52
- version = [major, minor, patch, build].compact.join('.')
53
-
54
- File.open(File.join("lib", "airbrake", "version.rb"), "w") do |f|
55
- f.write <<EOF
56
- module Airbrake
57
- VERSION = "#{version}".freeze
58
- end
59
- EOF
60
- end
61
- end
62
-
63
- desc "Writes out the new CHANGELOG and prepares the release"
64
- task :change do
65
- load 'lib/airbrake/version.rb'
66
- file = "CHANGELOG"
67
- old = File.read(file)
68
- version = Airbrake::VERSION
69
- message = "Bumping to version #{version}"
70
- editor = ENV["EDITOR"] || "vim" # prefer vim if no env variable for editor is set
71
-
72
- File.open(file, "w") do |f|
73
- f.write <<EOF
74
- Version #{version} - #{Time.now}
75
- ===============================================================================
76
-
77
- #{`git log $(git tag | grep -v rc | tail -1)..HEAD | git shortlog`}
78
- #{old}
79
- EOF
80
- end
81
-
82
- exec ["#{editor} #{file}",
83
- "git commit -aqm '#{message}'",
84
- "git tag -a -m '#{message}' v#{version}",
85
- "echo '\n\n\033[32mMarked v#{version} /' `git show-ref -s refs/heads/master` 'for release. Run: rake changeling:push\033[0m\n\n'"].join(' && ')
86
- end
87
-
88
- desc "Bump by a minor version (1.2.3 => 1.3.0)"
89
- task :minor do |t|
90
- Rake::Task['changeling:bump'].invoke(t.name)
91
- Rake::Task['changeling:change'].invoke
92
- end
93
-
94
- desc "Bump by a patch version, (1.2.3 => 1.2.4)"
95
- task :patch do |t|
96
- Rake::Task['changeling:bump'].invoke(t.name)
97
- Rake::Task['changeling:change'].invoke
98
- end
99
-
100
- desc "Push the latest version and tags"
101
- task :push do |t|
102
- system("git push origin master")
103
- system("git push origin $(git tag | grep -v rc | tail -1)")
104
- end
105
- end
106
-
107
- begin
108
- require 'yard'
109
- YARD::Rake::YardocTask.new do |t|
110
- t.files = ['lib/**/*.rb', 'TESTING.rdoc']
111
- end
112
- rescue LoadError
113
- end
114
-
115
- GEM_ROOT = File.dirname(__FILE__).freeze
116
-
117
- desc "Clean files generated by rake tasks"
118
- task :clobber => [:clobber_rdoc, :clobber_package]
119
-
120
- LOCAL_GEM_ROOT = File.join(GEM_ROOT, 'tmp', 'local_gems').freeze
121
- RAILS_VERSIONS = IO.read('SUPPORTED_RAILS_VERSIONS').strip.split("\n")
122
- LOCAL_GEMS =
123
- [
124
- ["rack","1.3.2"],
125
- ] +
126
- RAILS_VERSIONS.collect { |version| ['rails', version] } +
127
- [
128
- ['sham_rack', nil],
129
- ['capistrano', nil],
130
- ['sqlite3-ruby', nil],
131
- ["therubyracer",nil],
132
- ["sinatra",nil]
133
- ]
134
-
135
-
136
- desc "Vendor test gems: Run this once to prepare your test environment"
137
- task :vendor_test_gems do
138
- old_gem_path = ENV['GEM_PATH']
139
- old_gem_home = ENV['GEM_HOME']
140
- ENV['GEM_PATH'] = LOCAL_GEM_ROOT
141
- ENV['GEM_HOME'] = LOCAL_GEM_ROOT
142
-
143
- LOCAL_GEMS.each do |gem_name, version|
144
- gem_file_pattern = [gem_name, version || '*'].compact.join('-')
145
- version_option = version ? "-v #{version}" : ''
146
- pattern = File.join(LOCAL_GEM_ROOT, 'gems', "#{gem_file_pattern}")
147
- existing = Dir.glob(pattern).first
148
- if existing
149
- puts "\nskipping #{gem_name} since it's already vendored," +
150
- "remove it from the tmp directory first."
151
- next
152
- end
153
-
154
- command = "gem install -i #{LOCAL_GEM_ROOT} --no-ri --no-rdoc --backtrace #{version_option} #{gem_name}"
155
- puts "Vendoring #{gem_file_pattern}..."
156
- unless system("#{command} 2>&1")
157
- puts "Command failed: #{command}"
158
- exit(1)
159
- end
160
- end
161
-
162
- ENV['GEM_PATH'] = old_gem_path
163
- ENV['GEM_HOME'] = old_gem_home
164
- end
165
-
166
- Cucumber::Rake::Task.new(:cucumber) do |t|
167
- t.fork = true
168
- t.cucumber_opts = ['--format', (ENV['CUCUMBER_FORMAT'] || 'progress')]
169
- end
170
-
171
- task :cucumber => [:vendor_test_gems]
172
-
173
-
174
- def run_rails_cucumber_task(version, additional_cucumber_args)
175
- puts "Testing Rails #{version}"
176
- if version.empty?
177
- raise "No Rails version specified - make sure ENV['RAILS_VERSION'] is set, e.g. with `rake cucumber:rails:all`"
178
- end
179
- ENV['RAILS_VERSION'] = version
180
- cmd = "cucumber --format #{ENV['CUCUMBER_FORMAT'] || 'progress'} #{additional_cucumber_args} features/rails.feature features/rails_with_js_notifier.feature"
181
- puts "Running command: #{cmd}"
182
- system(cmd)
183
- end
184
-
185
- def define_rails_cucumber_tasks(additional_cucumber_args = '')
186
- namespace :rails do
187
- RAILS_VERSIONS.each do |version|
188
- desc "Test integration of the gem with Rails #{version}"
189
- task version => [:vendor_test_gems] do
190
- exit 1 unless run_rails_cucumber_task(version, additional_cucumber_args)
191
- end
192
- end
193
-
194
- desc "Test integration of the gem with all Rails versions"
195
- task :all do
196
- results = RAILS_VERSIONS.map do |version|
197
- run_rails_cucumber_task(version, additional_cucumber_args)
198
- end
199
-
200
- exit 1 unless results.all?
201
- end
202
- end
203
- end
204
-
205
- namespace :cucumber do
206
- namespace :wip do
207
- define_rails_cucumber_tasks('--tags @wip')
208
- end
209
-
210
- define_rails_cucumber_tasks
211
-
212
- rule /#{"(" + FEATURES.join("|") + ")"}/ do |t|
213
- framework = t.name
214
- desc "Test integration of the gem with #{framework}"
215
- task framework.to_sym do
216
- puts "Testing #{framework.split(":").last}..."
217
- cmd = "cucumber --format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features/#{framework.split(":").last}.feature"
218
- puts "Running command: #{cmd}"
219
- system(cmd)
220
- end
221
- end
222
-
223
- end
@@ -1,38 +0,0 @@
1
- 2.3.14
2
- 3.0.0
3
- 3.0.1
4
- 3.0.2
5
- 3.0.3
6
- 3.0.4
7
- 3.0.5
8
- 3.0.6
9
- 3.0.7
10
- 3.0.8
11
- 3.0.9
12
- 3.0.10
13
- 3.0.11
14
- 3.0.12
15
- 3.0.13
16
- 3.0.14
17
- 3.0.15
18
- 3.0.16
19
- 3.0.17
20
- 3.1.0
21
- 3.1.1
22
- 3.1.2
23
- 3.1.3
24
- 3.1.4
25
- 3.1.5
26
- 3.1.6
27
- 3.1.7
28
- 3.1.8
29
- 3.1.4
30
- 3.2.0
31
- 3.2.1
32
- 3.2.2
33
- 3.2.3
34
- 3.2.4
35
- 3.2.5
36
- 3.2.6
37
- 3.2.7
38
- 3.2.8
data/TESTING.md DELETED
@@ -1,41 +0,0 @@
1
- Running the suite
2
- =================
3
-
4
- Since the notifier must run on many versions of Rails, running its test suite is slightly different than you may be used to.
5
-
6
- You should start by trusting the .rvmrc file. We come in peace.
7
-
8
- Then execute the following command:
9
-
10
- rake vendor_test_gems
11
- # NOT: bundle exec rake vendor_test_gems
12
-
13
- This command will download the various versions of Rails and other gems that the notifier must be tested against.
14
-
15
- Then, to start the suite, run
16
-
17
- rake
18
- # NOT: bundle exec rake
19
-
20
- Finally, this test suite runs against many rails versions. If you
21
- prefer to run it against specific version hit
22
-
23
- rake cucumber:rails:<VERSION>
24
-
25
- You can also specify to test only against the certain frameworks we
26
- support (rack, rake and sinatra) by executing
27
-
28
- rake cucumber:<FRAMEWORK>
29
-
30
- This tasks are not printed out with `rake -T` since they're added
31
- dynamically in the Rakefile.
32
-
33
-
34
- For Maintainers
35
- ================
36
-
37
- When developing the Airbrake gem, be sure to use the integration test against an existing project on staging before pushing to master.
38
-
39
- ./script/integration_test.rb <test project's api key> <staging server hostname>
40
-
41
- ./script/integration_test.rb <test project's api key> <staging server hostname> secure
@@ -1,40 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "airbrake/version"
4
-
5
- Gem::Specification.new do |s|
6
- s.name = %q{airbrake}
7
- s.version = Airbrake::VERSION.dup
8
- s.summary = %q{Send your application errors to our hosted service and reclaim your inbox.}
9
-
10
- s.require_paths = ["lib"]
11
- s.executables << "airbrake"
12
- s.files = Dir["{generators/**/*,lib/**/*,rails/**/*,resources/*,script/*}"] +
13
- %w(airbrake.gemspec CHANGELOG Gemfile Guardfile INSTALL MIT-LICENSE Rakefile README_FOR_HEROKU_ADDON.md README.md TESTING.md SUPPORTED_RAILS_VERSIONS install.rb)
14
- s.test_files = Dir.glob("{test,spec,features}/**/*")
15
-
16
- s.add_runtime_dependency("builder")
17
- s.add_runtime_dependency("girl_friday")
18
-
19
- s.add_development_dependency("actionpack", "~> 2.3.8")
20
- s.add_development_dependency("activerecord", "~> 2.3.8")
21
- s.add_development_dependency("activesupport", "~> 2.3.8")
22
- s.add_development_dependency("mocha", "0.10.5")
23
- s.add_development_dependency("bourne", ">= 1.0")
24
- s.add_development_dependency("cucumber", "~> 0.10.6")
25
- s.add_development_dependency("fakeweb", "~> 1.3.0")
26
- s.add_development_dependency("nokogiri", "~> 1.4.3.1")
27
- s.add_development_dependency("rspec", "~> 2.6.0")
28
- s.add_development_dependency("sham_rack", "~> 1.3.0")
29
- s.add_development_dependency("shoulda", "~> 2.11.3")
30
- s.add_development_dependency("capistrano", "~> 2.8.0")
31
- s.add_development_dependency("guard" )
32
- s.add_development_dependency("guard-test" )
33
- s.add_development_dependency("simplecov" )
34
-
35
- s.authors = ["Airbrake"]
36
- s.email = %q{support@airbrake.io}
37
- s.homepage = "http://www.airbrake.io"
38
-
39
- s.platform = Gem::Platform::RUBY
40
- end
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "airbrake"
4
- require "airbrake/cli/runner"
5
- require "net/http"
6
- require "uri"
7
-
8
- args = ARGV.dup
9
- command = args.shift.strip rescue nil
10
- options = ARGV[1..-1]
11
-
12
- Runner.run!(command, options)