sentry-raven 0.9.4 → 0.10.1
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.
Potentially problematic release.
This version of sentry-raven might be problematic. Click here for more details.
- checksums.yaml +5 -13
- data/README.md +44 -5
- data/lib/raven/better_attr_accessor.rb +44 -0
- data/lib/raven/cli.rb +1 -1
- data/lib/raven/client.rb +12 -1
- data/lib/raven/configuration.rb +7 -2
- data/lib/raven/interfaces.rb +10 -26
- data/lib/raven/interfaces/exception.rb +4 -4
- data/lib/raven/interfaces/http.rb +7 -7
- data/lib/raven/interfaces/message.rb +2 -2
- data/lib/raven/interfaces/stack_trace.rb +10 -19
- data/lib/raven/processors/sanitizedata.rb +11 -0
- data/lib/raven/rack.rb +6 -5
- data/lib/raven/railtie.rb +8 -6
- data/lib/raven/sidekiq.rb +1 -1
- data/lib/raven/version.rb +1 -1
- metadata +36 -35
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
ZWRjN2MyNTA2YzQ4ODliYTY0N2Y3ZTg3Y2MyNjUzMjYxODg0NWYzZg==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 057d8d70d5fbf847fa8c41a33a8dabc5f4bf1f4d
|
4
|
+
data.tar.gz: 2042e4bbae25824369c260746f21c31b64d3c4f4
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
NzZkYjQ0OTFiNjhmMmZlMzRiYzgyNWRkYjAzZWUzN2NlM2M3OGZiNDRlNzBk
|
11
|
-
YjhmYWM0ZjlkNTU2YWE3NDkwMTM2M2RiNWJjMDIzNDA0NjAzMDU=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
YmIzZDVlM2RhZDU3MzNiYmI2MDkxNTM0MmYxNTRhOTEwZTRkOTkyOWMxOWEx
|
14
|
-
M2U4ZmQwN2MxOGM0NDYzYWZiY2Y1NmIxOTNkZTIyN2RiYTliMGVlNjU0NmUy
|
15
|
-
MWFjZDgzYmEzYmNiZWU5ODFmNGY4NmQ0YmY5ZGRiNDg2MmM5YmE=
|
6
|
+
metadata.gz: a74a58c59287a2d4fde07886f26d9634e08f1b3b5bcf9c5c793facaec632094a83e047f426953a88b193911b71e4364fa541a0276b851f2dc86c1ea1a1aa7913
|
7
|
+
data.tar.gz: de5656fd29ce7aff1ad06c919179363f3330ff05cd4a7ab0ad17a733fb300d4468c2e3b487b4c9480abf9841d8ed28a928336d31d8df0d7d9a979c1f0cf9938b
|
data/README.md
CHANGED
@@ -25,7 +25,15 @@ the Rack middleware). If you catch those exceptions yourself, but still want to
|
|
25
25
|
|
26
26
|
### Rails 3 or 4
|
27
27
|
|
28
|
-
In Rails 3 or 4 all uncaught exceptions will be automatically reported.
|
28
|
+
In Rails 3 or 4 all uncaught exceptions will be automatically reported under most situations.
|
29
|
+
|
30
|
+
You'll still want to ensure you've disabled anything that would prevent errors from being propagated to the ```Raven::Rack``` middleware:
|
31
|
+
|
32
|
+
Disable ```ActionDispatch::ShowExceptions```:
|
33
|
+
|
34
|
+
```ruby
|
35
|
+
config.action_dispatch.show_exceptions = false
|
36
|
+
```
|
29
37
|
|
30
38
|
#### Delayed::Job
|
31
39
|
|
@@ -175,9 +183,11 @@ end
|
|
175
183
|
|
176
184
|
### Environments
|
177
185
|
|
178
|
-
By default events will be sent to Sentry in all environments
|
186
|
+
By default, events will be sent to Sentry in all environments. If you do not wish
|
187
|
+
to send events in an environment, we suggest you unset the ```SENTRY_DSN```
|
188
|
+
variable in that environment.
|
179
189
|
|
180
|
-
|
190
|
+
Alternately, you can configure Raven to run only in certain environments by configuring the `environments` whitelist. For example, to only run Sentry in production:
|
181
191
|
|
182
192
|
```ruby
|
183
193
|
Raven.configure do |config|
|
@@ -233,7 +243,7 @@ end
|
|
233
243
|
|
234
244
|
### Asynchronous Delivery
|
235
245
|
|
236
|
-
When an error occurs, the notification is immediately sent to Sentry. Raven can be configured
|
246
|
+
When an error occurs, the notification is immediately sent to Sentry. Raven can be configured
|
237
247
|
to send notifications asynchronously:
|
238
248
|
|
239
249
|
```ruby
|
@@ -244,7 +254,7 @@ Raven.configure do |config|
|
|
244
254
|
end
|
245
255
|
```
|
246
256
|
|
247
|
-
This example uses a thread, but other tools can be used (GirlFriday, Resque, Sidekiq, etc...) as
|
257
|
+
This example uses a thread, but other tools can be used (GirlFriday, Resque, Sidekiq, etc...) as
|
248
258
|
long as the `event` argument is eventually passed to `Raven.send`.
|
249
259
|
|
250
260
|
### Logging
|
@@ -261,6 +271,35 @@ Raven.configure do |config|
|
|
261
271
|
end
|
262
272
|
```
|
263
273
|
|
274
|
+
If you are using Rails, Raven will default to using Rails.logger as the logger.
|
275
|
+
|
276
|
+
### Encoding
|
277
|
+
|
278
|
+
While unlikely that you'll need to change it, by default Raven compresses outgoing messages with gzip. This has a slight impact on performance, but due to the size of many Ruby stacktrace it's required for the serve to accept the content.
|
279
|
+
|
280
|
+
To disable gzip, set the encoding to 'json':
|
281
|
+
|
282
|
+
```ruby
|
283
|
+
Raven.configure do |config|
|
284
|
+
config.encoding = 'json'
|
285
|
+
end
|
286
|
+
```
|
287
|
+
|
288
|
+
### Silencing the ready message
|
289
|
+
|
290
|
+
Upon start, Raven will write the following message to the log at the INFO level:
|
291
|
+
|
292
|
+
** [out :: hostname.example.com] I, [2014-07-22T15:32:57.498368 #30897] INFO -- : ** [Raven] Raven 0.9.4 ready to catch errors"
|
293
|
+
|
294
|
+
You can turn off this message by passing `true` to `Raven.configure`
|
295
|
+
|
296
|
+
```ruby
|
297
|
+
Raven.configure(true) do |config|
|
298
|
+
...
|
299
|
+
end
|
300
|
+
```
|
301
|
+
|
302
|
+
|
264
303
|
## Sanitizing Data (Processors)
|
265
304
|
|
266
305
|
If you need to sanitize or pre-process (before its sent to the server) data, you can do so using the Processors
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'set'
|
2
|
+
|
3
|
+
module Raven
|
4
|
+
module BetterAttrAccessor
|
5
|
+
|
6
|
+
def attributes
|
7
|
+
Hash[
|
8
|
+
self.class.attributes.map do |attr|
|
9
|
+
[attr, send(attr)]
|
10
|
+
end
|
11
|
+
]
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.included(base)
|
15
|
+
base.extend ClassMethods
|
16
|
+
end
|
17
|
+
|
18
|
+
module ClassMethods
|
19
|
+
def attributes
|
20
|
+
@attributes ||= Set.new
|
21
|
+
|
22
|
+
if superclass.include? BetterAttrAccessor
|
23
|
+
@attributes + superclass.attributes
|
24
|
+
else
|
25
|
+
@attributes
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def attr_accessor(attr, options = {})
|
30
|
+
@attributes ||= Set.new
|
31
|
+
@attributes << attr.to_s
|
32
|
+
|
33
|
+
define_method attr do
|
34
|
+
if instance_variable_defined? "@#{attr}"
|
35
|
+
instance_variable_get "@#{attr}"
|
36
|
+
elsif options.key? :default
|
37
|
+
instance_variable_set "@#{attr}", options[:default].dup
|
38
|
+
end
|
39
|
+
end
|
40
|
+
attr_writer attr
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
data/lib/raven/cli.rb
CHANGED
data/lib/raven/client.rb
CHANGED
@@ -59,7 +59,7 @@ module Raven
|
|
59
59
|
case self.configuration.encoding
|
60
60
|
when 'gzip'
|
61
61
|
gzipped = Zlib::Deflate.deflate(encoded)
|
62
|
-
b64_encoded =
|
62
|
+
b64_encoded = strict_encode64(gzipped)
|
63
63
|
return 'application/octet-stream', b64_encoded
|
64
64
|
else
|
65
65
|
return 'application/json', encoded
|
@@ -89,5 +89,16 @@ module Raven
|
|
89
89
|
}
|
90
90
|
'Sentry ' + fields.map { |key, value| "#{key}=#{value}" }.join(', ')
|
91
91
|
end
|
92
|
+
|
93
|
+
private
|
94
|
+
|
95
|
+
def strict_encode64(string)
|
96
|
+
if Base64.respond_to? :strict_encode64
|
97
|
+
Base64.strict_encode64 string
|
98
|
+
else # Ruby 1.8
|
99
|
+
Base64.encode64(string)[0..-2]
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
92
103
|
end
|
93
104
|
end
|
data/lib/raven/configuration.rb
CHANGED
@@ -76,6 +76,10 @@ module Raven
|
|
76
76
|
# Exceptions from these directories to be ignored
|
77
77
|
attr_accessor :app_dirs_pattern
|
78
78
|
|
79
|
+
# Catch exceptions before they're been processed by
|
80
|
+
# ActionDispatch::ShowExceptions or ActionDispatch::DebugExceptions
|
81
|
+
attr_accessor :catch_debugged_exceptions
|
82
|
+
|
79
83
|
IGNORE_DEFAULT = ['ActiveRecord::RecordNotFound',
|
80
84
|
'ActionController::RoutingError',
|
81
85
|
'ActionController::InvalidAuthenticityToken',
|
@@ -92,11 +96,12 @@ module Raven
|
|
92
96
|
self.excluded_exceptions = IGNORE_DEFAULT
|
93
97
|
self.processors = [Raven::Processor::SanitizeData]
|
94
98
|
self.ssl_verification = false
|
95
|
-
self.encoding = '
|
99
|
+
self.encoding = 'gzip'
|
96
100
|
self.timeout = 1
|
97
101
|
self.open_timeout = 1
|
98
102
|
self.tags = {}
|
99
103
|
self.async = false
|
104
|
+
self.catch_debugged_exceptions = true
|
100
105
|
end
|
101
106
|
|
102
107
|
def server=(value)
|
@@ -150,7 +155,7 @@ module Raven
|
|
150
155
|
if environments
|
151
156
|
environments.include?(current_environment)
|
152
157
|
else
|
153
|
-
|
158
|
+
true
|
154
159
|
end
|
155
160
|
end
|
156
161
|
|
data/lib/raven/interfaces.rb
CHANGED
@@ -1,39 +1,23 @@
|
|
1
|
-
require '
|
1
|
+
require 'raven/better_attr_accessor'
|
2
2
|
|
3
3
|
module Raven
|
4
4
|
|
5
5
|
INTERFACES = {}
|
6
6
|
|
7
|
-
class Interface
|
8
|
-
|
9
|
-
|
10
|
-
end
|
11
|
-
|
12
|
-
def initialize(attributes = {}, &block)
|
13
|
-
@check_required = false
|
14
|
-
super(attributes)
|
15
|
-
block.call(self) if block
|
16
|
-
@check_required = true
|
17
|
-
|
18
|
-
begin
|
19
|
-
assert_required_attributes_set!
|
20
|
-
rescue NoMethodError
|
21
|
-
assert_required_properties_set!
|
22
|
-
end
|
7
|
+
class Interface
|
8
|
+
include BetterAttrAccessor
|
9
|
+
alias_method :to_hash, :attributes
|
23
10
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
end
|
11
|
+
def initialize(attributes = nil)
|
12
|
+
attributes.each do |attr, value|
|
13
|
+
send "#{attr}=", value
|
14
|
+
end if attributes
|
29
15
|
|
30
|
-
|
31
|
-
super if @check_required
|
16
|
+
yield self if block_given?
|
32
17
|
end
|
33
18
|
|
34
19
|
def self.name(value = nil)
|
35
|
-
@interface_name
|
36
|
-
@interface_name
|
20
|
+
@interface_name ||= value
|
37
21
|
end
|
38
22
|
end
|
39
23
|
|
@@ -4,10 +4,10 @@ module Raven
|
|
4
4
|
class ExceptionInterface < Interface
|
5
5
|
|
6
6
|
name 'exception'
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
attr_accessor :type
|
8
|
+
attr_accessor :value
|
9
|
+
attr_accessor :module
|
10
|
+
attr_accessor :stacktrace
|
11
11
|
|
12
12
|
def to_hash(*args)
|
13
13
|
data = super(*args)
|
@@ -4,13 +4,13 @@ module Raven
|
|
4
4
|
class HttpInterface < Interface
|
5
5
|
|
6
6
|
name 'request'
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
7
|
+
attr_accessor :url
|
8
|
+
attr_accessor :method
|
9
|
+
attr_accessor :data
|
10
|
+
attr_accessor :query_string
|
11
|
+
attr_accessor :cookies
|
12
|
+
attr_accessor :headers
|
13
|
+
attr_accessor :env
|
14
14
|
|
15
15
|
def initialize(*arguments)
|
16
16
|
self.headers = {}
|
@@ -1,12 +1,10 @@
|
|
1
|
-
require 'hashie'
|
2
|
-
|
3
1
|
require 'raven/interfaces'
|
4
2
|
|
5
3
|
module Raven
|
6
4
|
class StacktraceInterface < Interface
|
7
5
|
|
8
6
|
name 'stacktrace'
|
9
|
-
|
7
|
+
attr_accessor :frames, :default => []
|
10
8
|
|
11
9
|
def initialize(*arguments)
|
12
10
|
self.frames = []
|
@@ -25,27 +23,20 @@ module Raven
|
|
25
23
|
|
26
24
|
# Not actually an interface, but I want to use the same style
|
27
25
|
class Frame < Interface
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
def initialize(*arguments)
|
38
|
-
self.vars = {}
|
39
|
-
self.pre_context = []
|
40
|
-
self.post_context = []
|
41
|
-
super(*arguments)
|
42
|
-
end
|
26
|
+
attr_accessor :abs_path
|
27
|
+
attr_accessor :function
|
28
|
+
attr_accessor :vars, :default => []
|
29
|
+
attr_accessor :pre_context, :default => []
|
30
|
+
attr_accessor :post_context, :default => []
|
31
|
+
attr_accessor :context_line
|
32
|
+
attr_accessor :lineno
|
33
|
+
attr_accessor :in_app
|
43
34
|
|
44
35
|
def filename
|
45
36
|
return nil if self.abs_path.nil?
|
46
37
|
|
47
38
|
prefix = $LOAD_PATH.select { |s| self.abs_path.start_with?(s.to_s) }.sort_by { |s| s.to_s.length }.last
|
48
|
-
prefix ? self.abs_path[prefix.chomp(File::SEPARATOR).length+1..-1] : self.abs_path
|
39
|
+
prefix ? self.abs_path[prefix.to_s.chomp(File::SEPARATOR).length+1..-1] : self.abs_path
|
49
40
|
end
|
50
41
|
|
51
42
|
def to_hash(*args)
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'raven/processor'
|
2
|
+
require 'json'
|
2
3
|
|
3
4
|
module Raven
|
4
5
|
module Processor
|
@@ -24,6 +25,16 @@ module Raven
|
|
24
25
|
value.map do |value_|
|
25
26
|
apply(value_, key, visited, &block)
|
26
27
|
end
|
28
|
+
elsif value.is_a?(String) && json_hash = JSON.parse(value) rescue nil
|
29
|
+
return "[...]" if visited.include?(value.__id__)
|
30
|
+
visited += [value.__id__]
|
31
|
+
|
32
|
+
json_hash = json_hash.each.reduce({}) do |memo, (k, v)|
|
33
|
+
memo[k] = apply(v, k, visited, &block)
|
34
|
+
memo
|
35
|
+
end
|
36
|
+
|
37
|
+
json_hash.to_json
|
27
38
|
else
|
28
39
|
block.call(key, value)
|
29
40
|
end
|
data/lib/raven/rack.rb
CHANGED
@@ -21,8 +21,8 @@ module Raven
|
|
21
21
|
# Use a standard Raven.configure call to configure your server credentials.
|
22
22
|
class Rack
|
23
23
|
def self.capture_exception(exception, env, options = {})
|
24
|
-
if env[
|
25
|
-
options[:time_spent] = Time.now - env[
|
24
|
+
if env['requested_at']
|
25
|
+
options[:time_spent] = Time.now - env['requested_at']
|
26
26
|
end
|
27
27
|
Raven.capture_exception(exception, options) do |evt|
|
28
28
|
evt.interface :http do |int|
|
@@ -32,8 +32,8 @@ module Raven
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def self.capture_message(message, env, options = {})
|
35
|
-
if env[
|
36
|
-
options[:time_spent] = Time.now - env[
|
35
|
+
if env['requested_at']
|
36
|
+
options[:time_spent] = Time.now - env['requested_at']
|
37
37
|
end
|
38
38
|
Raven.capture_message(message, options) do |evt|
|
39
39
|
evt.interface :http do |int|
|
@@ -52,7 +52,7 @@ module Raven
|
|
52
52
|
|
53
53
|
# store the current environment in our local context for arbitrary
|
54
54
|
# callers
|
55
|
-
env[
|
55
|
+
env['requested_at'] = Time.now
|
56
56
|
Raven.rack_context(env)
|
57
57
|
|
58
58
|
begin
|
@@ -60,6 +60,7 @@ module Raven
|
|
60
60
|
rescue Error
|
61
61
|
raise # Don't capture Raven errors
|
62
62
|
rescue Exception => e
|
63
|
+
Raven.logger.debug "Collecting %p: %s" % [ e.class, e.message ]
|
63
64
|
Raven::Rack.capture_exception(e, env)
|
64
65
|
raise
|
65
66
|
end
|
data/lib/raven/railtie.rb
CHANGED
@@ -20,12 +20,14 @@ module Raven
|
|
20
20
|
config.project_root ||= ::Rails.root
|
21
21
|
end
|
22
22
|
|
23
|
-
if
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
23
|
+
if Raven.configuration.catch_debugged_exceptions
|
24
|
+
if defined?(::ActionDispatch::DebugExceptions)
|
25
|
+
require 'raven/rails/middleware/debug_exceptions_catcher'
|
26
|
+
::ActionDispatch::DebugExceptions.send(:include, Raven::Rails::Middleware::DebugExceptionsCatcher)
|
27
|
+
elsif defined?(::ActionDispatch::ShowExceptions)
|
28
|
+
require 'raven/rails/middleware/debug_exceptions_catcher'
|
29
|
+
::ActionDispatch::ShowExceptions.send(:include, Raven::Rails::Middleware::DebugExceptionsCatcher)
|
30
|
+
end
|
29
31
|
end
|
30
32
|
end
|
31
33
|
|
data/lib/raven/sidekiq.rb
CHANGED
@@ -22,6 +22,6 @@ if Sidekiq::VERSION < '3'
|
|
22
22
|
end
|
23
23
|
else
|
24
24
|
Sidekiq.configure_server do |config|
|
25
|
-
config.error_handlers << Proc.new {|ex,context| Raven.capture_exception(ex, context) }
|
25
|
+
config.error_handlers << Proc.new {|ex,context| Raven.capture_exception(ex, :extra => {:sidekiq => context}) }
|
26
26
|
end
|
27
27
|
end
|
data/lib/raven/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sentry-raven
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Noah Kantrowitz
|
@@ -9,62 +9,48 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-09-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - '>='
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: 0.7.6
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - '>='
|
26
26
|
- !ruby/object:Gem::Version
|
27
27
|
version: 0.7.6
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: uuidtools
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - '>='
|
33
33
|
- !ruby/object:Gem::Version
|
34
34
|
version: '0'
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - '>='
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
|
-
- !ruby/object:Gem::Dependency
|
43
|
-
name: hashie
|
44
|
-
requirement: !ruby/object:Gem::Requirement
|
45
|
-
requirements:
|
46
|
-
- - ! '>='
|
47
|
-
- !ruby/object:Gem::Version
|
48
|
-
version: 1.1.0
|
49
|
-
type: :runtime
|
50
|
-
prerelease: false
|
51
|
-
version_requirements: !ruby/object:Gem::Requirement
|
52
|
-
requirements:
|
53
|
-
- - ! '>='
|
54
|
-
- !ruby/object:Gem::Version
|
55
|
-
version: 1.1.0
|
56
42
|
- !ruby/object:Gem::Dependency
|
57
43
|
name: rake
|
58
44
|
requirement: !ruby/object:Gem::Requirement
|
59
45
|
requirements:
|
60
|
-
- -
|
46
|
+
- - '>='
|
61
47
|
- !ruby/object:Gem::Version
|
62
48
|
version: '0'
|
63
49
|
type: :development
|
64
50
|
prerelease: false
|
65
51
|
version_requirements: !ruby/object:Gem::Requirement
|
66
52
|
requirements:
|
67
|
-
- -
|
53
|
+
- - '>='
|
68
54
|
- !ruby/object:Gem::Version
|
69
55
|
version: '0'
|
70
56
|
- !ruby/object:Gem::Dependency
|
@@ -73,14 +59,14 @@ dependencies:
|
|
73
59
|
requirements:
|
74
60
|
- - ~>
|
75
61
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
62
|
+
version: '3.0'
|
77
63
|
type: :development
|
78
64
|
prerelease: false
|
79
65
|
version_requirements: !ruby/object:Gem::Requirement
|
80
66
|
requirements:
|
81
67
|
- - ~>
|
82
68
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
69
|
+
version: '3.0'
|
84
70
|
- !ruby/object:Gem::Dependency
|
85
71
|
name: mime-types
|
86
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,14 +85,28 @@ dependencies:
|
|
99
85
|
name: coveralls
|
100
86
|
requirement: !ruby/object:Gem::Requirement
|
101
87
|
requirements:
|
102
|
-
- -
|
88
|
+
- - '>='
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rest-client
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - '>='
|
103
103
|
- !ruby/object:Gem::Version
|
104
104
|
version: '0'
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
|
-
- -
|
109
|
+
- - '>='
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
description:
|
@@ -118,12 +118,9 @@ extra_rdoc_files:
|
|
118
118
|
- README.md
|
119
119
|
- LICENSE
|
120
120
|
files:
|
121
|
-
- LICENSE
|
122
|
-
- README.md
|
123
|
-
- bin/raven
|
124
|
-
- lib/raven.rb
|
125
121
|
- lib/raven/backtrace.rb
|
126
122
|
- lib/raven/base.rb
|
123
|
+
- lib/raven/better_attr_accessor.rb
|
127
124
|
- lib/raven/cli.rb
|
128
125
|
- lib/raven/client.rb
|
129
126
|
- lib/raven/configuration.rb
|
@@ -131,11 +128,11 @@ files:
|
|
131
128
|
- lib/raven/error.rb
|
132
129
|
- lib/raven/event.rb
|
133
130
|
- lib/raven/integrations/delayed_job.rb
|
134
|
-
- lib/raven/interfaces.rb
|
135
131
|
- lib/raven/interfaces/exception.rb
|
136
132
|
- lib/raven/interfaces/http.rb
|
137
133
|
- lib/raven/interfaces/message.rb
|
138
134
|
- lib/raven/interfaces/stack_trace.rb
|
135
|
+
- lib/raven/interfaces.rb
|
139
136
|
- lib/raven/linecache.rb
|
140
137
|
- lib/raven/logger.rb
|
141
138
|
- lib/raven/okjson.rb
|
@@ -147,11 +144,15 @@ files:
|
|
147
144
|
- lib/raven/railtie.rb
|
148
145
|
- lib/raven/sidekiq.rb
|
149
146
|
- lib/raven/tasks.rb
|
150
|
-
- lib/raven/transports.rb
|
151
147
|
- lib/raven/transports/http.rb
|
152
148
|
- lib/raven/transports/udp.rb
|
149
|
+
- lib/raven/transports.rb
|
153
150
|
- lib/raven/version.rb
|
151
|
+
- lib/raven.rb
|
154
152
|
- lib/sentry-raven.rb
|
153
|
+
- README.md
|
154
|
+
- LICENSE
|
155
|
+
- bin/raven
|
155
156
|
homepage: http://github.com/getsentry/raven-ruby
|
156
157
|
licenses:
|
157
158
|
- Apache-2.0
|
@@ -162,17 +163,17 @@ require_paths:
|
|
162
163
|
- lib
|
163
164
|
required_ruby_version: !ruby/object:Gem::Requirement
|
164
165
|
requirements:
|
165
|
-
- -
|
166
|
+
- - '>='
|
166
167
|
- !ruby/object:Gem::Version
|
167
168
|
version: '0'
|
168
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
169
170
|
requirements:
|
170
|
-
- -
|
171
|
+
- - '>='
|
171
172
|
- !ruby/object:Gem::Version
|
172
173
|
version: '0'
|
173
174
|
requirements: []
|
174
175
|
rubyforge_project:
|
175
|
-
rubygems_version: 2.
|
176
|
+
rubygems_version: 2.0.3
|
176
177
|
signing_key:
|
177
178
|
specification_version: 4
|
178
179
|
summary: A gem that provides a client interface for the Sentry error logger
|