honeybadger 2.0.0.beta.13 → 2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 232e0bbf08852f65acb4070361a6a7659ad7f796
4
- data.tar.gz: 4ff2b16b4e49c00c2f606b7c59b725de46a7761b
3
+ metadata.gz: 1e572631a4f389e80ffaf94ae4f2ac54416c8b48
4
+ data.tar.gz: 2b24702a280799a095862c85f47092e4c3bc90c2
5
5
  SHA512:
6
- metadata.gz: 7ac9c7ee5f507c0ed7ed10974dcf74b023cd5764b5679ae58ea32e1fe02176832e07532a5cbbe8d089c485995493f5236c7dc94ca2340612bda8082fcd17dbdb
7
- data.tar.gz: 5fddd42aaf01b18bdae5483b94221d81ff361e07d01d7867572d0c246108764f23aa065f296e28889183bed47b0675418459f93cdac1d5b7f87fb033cd49355a
6
+ metadata.gz: 19b93a61469925c7a06262fed934ebefd5fb6c9d977e0203af2aa005b08ca71bdd06d623a277b4bea16a787767697f578358413cb94f60bb7acd96f43a059d4e
7
+ data.tar.gz: a8781662e0f4cada0af2e89a329d084cf16888007b0649629e34e115e4e1db46725b6218688285d6a1057d6bc41dd2fbf0e1cf7c6b9c4868ba4299f831f7d9d7
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014 Honeybadger Industries LLC
1
+ Copyright (c) 2015 Honeybadger Industries LLC
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -208,7 +208,7 @@ module Honeybadger
208
208
  opts.merge!(callbacks: self.class.callbacks)
209
209
  notice = Notice.new(config, opts)
210
210
 
211
- if notice.ignore?
211
+ if !opts[:force] && notice.ignore?
212
212
  debug { sprintf('ignore notice feature=notices id=%s', notice.id) }
213
213
  false
214
214
  else
@@ -142,6 +142,17 @@ module Honeybadger
142
142
  end
143
143
  end
144
144
 
145
+ if (capfile = Pathname.new(config[:root]).join('Capfile')).exist?
146
+ if capfile.read.match(/honeybadger/)
147
+ say("Detected Honeybadger in Capfile; skipping Capistrano installation.", :yellow)
148
+ else
149
+ say("Appending Capistrano tasks to: #{capfile}", :yellow)
150
+ File.open(capfile, 'a') do |f|
151
+ f.puts("\nrequire 'capistrano/honeybadger'")
152
+ end
153
+ end
154
+ end
155
+
145
156
  if !skip_test && (options[:test].nil? || options[:test])
146
157
  Honeybadger.start(config) unless load_rails_env(verbose: true)
147
158
  say('Sending test notice', :yellow)
@@ -19,7 +19,7 @@ module Honeybadger
19
19
  },
20
20
  env: {
21
21
  description: 'The current application\'s environment name.',
22
- default: ENV['HONEYBADGER_ENV']
22
+ default: ENV['HONEYBADGER_ENV'] || ENV['RACK_ENV']
23
23
  },
24
24
  report_data: {
25
25
  description: 'Enable/disable reporting of data. Defaults to true for non-development environments.',
@@ -160,7 +160,7 @@ module Honeybadger
160
160
 
161
161
  @stats = Util::Stats.all
162
162
 
163
- @local_variables = send_local_variables?(config) ? local_variables_from_exception(exception, config) : {}
163
+ @local_variables = local_variables_from_exception(exception, config, @sanitizer)
164
164
 
165
165
  @api_key = opts[:api_key] || config[:api_key]
166
166
  end
@@ -404,7 +404,8 @@ module Honeybadger
404
404
  # exception - The Exception containing the bindings stack.
405
405
  #
406
406
  # Returns a Hash of local variables
407
- def local_variables_from_exception(exception, config)
407
+ def local_variables_from_exception(exception, config, sanitizer)
408
+ return {} unless send_local_variables?(config)
408
409
  return {} unless Exception === exception
409
410
  return {} unless exception.respond_to?(:__honeybadger_bindings_stack)
410
411
  return {} if exception.__honeybadger_bindings_stack.empty?
@@ -416,7 +417,9 @@ module Honeybadger
416
417
  binding ||= exception.__honeybadger_bindings_stack[0]
417
418
 
418
419
  vars = binding.eval('local_variables')
419
- Hash[vars.map {|arg| [arg, binding.eval(arg.to_s)]}]
420
+ h = Hash[vars.map {|arg| [arg, binding.eval(arg.to_s)]}]
421
+
422
+ sanitizer.sanitize(h)
420
423
  end
421
424
 
422
425
  # Internal: Should local variables be sent?
@@ -1,4 +1,4 @@
1
1
  module Honeybadger
2
2
  # Public: The current String Honeybadger version.
3
- VERSION = '2.0.0.beta.13'.freeze
3
+ VERSION = '2.0.0'.freeze
4
4
  end
data/lib/honeybadger.rb CHANGED
@@ -41,7 +41,8 @@ module Honeybadger
41
41
  Agent.stop
42
42
  end
43
43
 
44
- # Public: Send an exception to Honeybadger.
44
+ # Public: Send an exception to Honeybadger. Does not report ignored
45
+ # exceptions by default.
45
46
  #
46
47
  # exception_or_opts - An Exception object, or a Hash of options which is used
47
48
  # to build the notice.
@@ -49,6 +50,8 @@ module Honeybadger
49
50
  # Exception. (default: {}):
50
51
  # :error_class - The String class name of the error.
51
52
  # :error_message - The String error message.
53
+ # :force - Always report the exception (even when
54
+ # ignored).
52
55
  #
53
56
  # Examples:
54
57
  #
@@ -68,7 +71,8 @@ module Honeybadger
68
71
  # context: {my_data: 'value'}
69
72
  # }) # => '06221c5a-b471-41e5-baeb-de247da45a56'
70
73
  #
71
- # Returns a String UUID reference to the notice within Honeybadger.
74
+ # Returns a String UUID reference to the notice within Honeybadger or false
75
+ # when ignored.
72
76
  def notify(exception_or_opts, opts = {})
73
77
  opts.merge!(exception: exception_or_opts) if exception_or_opts.is_a?(Exception)
74
78
  opts.merge!(exception_or_opts.to_hash) if exception_or_opts.respond_to?(:to_hash)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybadger
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta.13
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Honeybadger Industries LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-22 00:00:00.000000000 Z
11
+ date: 2015-01-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Make managing application errors a more pleasant experience.
14
14
  email:
@@ -139,9 +139,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
139
139
  version: 1.9.3
140
140
  required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - ">"
142
+ - - ">="
143
143
  - !ruby/object:Gem::Version
144
- version: 1.3.1
144
+ version: '0'
145
145
  requirements: []
146
146
  rubyforge_project:
147
147
  rubygems_version: 2.4.5