resque-exceptional 0.2.0 → 0.2.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.
- checksums.yaml +7 -0
- data/HISTORY.md +4 -0
- data/README.md +2 -0
- data/lib/resque/failure/exceptional.rb +4 -2
- data/test/exceptional_test.rb +15 -1
- data/test/resque_test.rb +1 -1
- data/test/test_helper.rb +3 -3
- metadata +46 -62
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 48421f431f10aec6b365354e1d44dd0c66272050
|
4
|
+
data.tar.gz: 7dee6f702e31f801708c436121ed8de4460aae9f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8536ba180441cd4e048fbddb1d6c422cbda6b32439e3c6a737e19d5f9bdc01d25c107f0b2b8b7334f95e1d27880cae70d2e83ce23e200a556c084d95f6189465
|
7
|
+
data.tar.gz: 2ad61434db9e6ab41a623d2cf93ca44fced897310d81ecc4dd84f3a6b87cd36597ff6c7414ec1e6ccc6798f7b2d19580c85ad8904c8eb1488f75cf37e05f5a50
|
data/HISTORY.md
CHANGED
data/README.md
CHANGED
@@ -4,6 +4,8 @@ resque-exceptional
|
|
4
4
|
resque-exceptional provides a [Resque][re] failure backend that sends exceptions
|
5
5
|
raised by jobs to [getexceptional.com][ge]
|
6
6
|
|
7
|
+
[](http://travis-ci.org/lantins/resque-exceptional)
|
8
|
+
|
7
9
|
Install & Quick Start
|
8
10
|
---------------------
|
9
11
|
|
@@ -2,7 +2,7 @@ module Resque
|
|
2
2
|
module Failure
|
3
3
|
# A Resque failure backend that sends exception data to getexceptional.com
|
4
4
|
class Exceptional < Base
|
5
|
-
Version = '0.1
|
5
|
+
Version = '0.2.1' # Failure backend version number.
|
6
6
|
|
7
7
|
# Raised if the api_key is not set.
|
8
8
|
class APIKeyError < StandardError
|
@@ -11,6 +11,7 @@ module Resque
|
|
11
11
|
class << self
|
12
12
|
attr_accessor :api_key # your getexceptional api key.
|
13
13
|
attr_accessor :use_ssl # enable/disable SSL.
|
14
|
+
attr_accessor :deliver # whether or not to submit exceptions to Exceptional
|
14
15
|
# HTTP proxy option
|
15
16
|
attr_accessor :proxy_host, :proxy_port, :proxy_user, :proxy_pass
|
16
17
|
# HTTP client option
|
@@ -33,6 +34,7 @@ module Resque
|
|
33
34
|
#
|
34
35
|
# When a job fails, a new instance is created and #save is called.
|
35
36
|
def save
|
37
|
+
return nil if self.class.deliver === false
|
36
38
|
return unless response = http_post_request
|
37
39
|
|
38
40
|
if response.code == '200'
|
@@ -64,7 +66,7 @@ module Resque
|
|
64
66
|
#
|
65
67
|
# @return [Hash] http headers.
|
66
68
|
def http_headers
|
67
|
-
{
|
69
|
+
{
|
68
70
|
'Content-Type' => 'application/json',
|
69
71
|
'Accept' => 'application/json',
|
70
72
|
'User-Agent' => "resque-exceptional/#{Version}"
|
data/test/exceptional_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
# Tests the failure backend works with resque, does not contact the api.
|
4
|
-
class ExceptionalTest <
|
4
|
+
class ExceptionalTest < Minitest::Test
|
5
5
|
def setup
|
6
6
|
@exception = TestApp.grab_exception
|
7
7
|
@worker = FakeWorker.new
|
@@ -112,6 +112,20 @@ class ExceptionalTest < MiniTest::Unit::TestCase
|
|
112
112
|
end
|
113
113
|
end
|
114
114
|
|
115
|
+
# test save does not submit to Exceptional if deliveries are disabled
|
116
|
+
def test_do_not_submit_if_deliveries_are_disabled
|
117
|
+
with_api_key '27810b263f0e11eef2f1d29be75d2f39' do
|
118
|
+
# turn off delivery.
|
119
|
+
Resque::Failure::Exceptional.configure { |c| c.deliver = false }
|
120
|
+
stub_request(:post, /.*api.exceptional.io.*/)
|
121
|
+
@failure.save
|
122
|
+
assert_equal(0, @worker.log_history.length)
|
123
|
+
|
124
|
+
# Put default setting back in place.
|
125
|
+
Resque::Failure::Exceptional.configure { |c| c.deliver = nil }
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
115
129
|
# we need a Net::HTTP client setup to send the data.
|
116
130
|
def test_http_client
|
117
131
|
assert_kind_of Net::HTTP, @failure.http_client
|
data/test/resque_test.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
# make sure the worlds not fallen from beneith us.
|
4
|
-
class ResqueTest <
|
4
|
+
class ResqueTest < Minitest::Test
|
5
5
|
def test_resque_version
|
6
6
|
major, minor, patch = Resque::Version.split('.')
|
7
7
|
assert_equal 1, major.to_i, 'major version does not match'
|
data/test/test_helper.rb
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift dir + '/../lib'
|
|
4
4
|
$TESTING = true
|
5
5
|
|
6
6
|
# require gems for testing.
|
7
|
-
require '
|
7
|
+
require 'minitest'
|
8
8
|
require 'minitest/unit'
|
9
9
|
require 'minitest/pride'
|
10
10
|
require 'minitest/autorun'
|
@@ -23,8 +23,8 @@ end
|
|
23
23
|
# require our failure backend to test.
|
24
24
|
require 'resque-exceptional'
|
25
25
|
|
26
|
-
class
|
27
|
-
include
|
26
|
+
class Minitest::Test
|
27
|
+
include WebMock::API
|
28
28
|
|
29
29
|
# periodicly set the api key.
|
30
30
|
def with_api_key(key, &block)
|
metadata
CHANGED
@@ -1,183 +1,167 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: resque-exceptional
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
5
|
-
prerelease:
|
4
|
+
version: 0.2.1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Luke Antins
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-21 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: resque
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.8
|
19
|
+
version: '1.8'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.8
|
26
|
+
version: '1.8'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: multi_json
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
33
|
+
version: '1.0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
40
|
+
version: '1.0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rake
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - ">="
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: minitest
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - "~>"
|
68
60
|
- !ruby/object:Gem::Version
|
69
|
-
version: '
|
61
|
+
version: '5.2'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - "~>"
|
76
67
|
- !ruby/object:Gem::Version
|
77
|
-
version: '
|
68
|
+
version: '5.2'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: rr
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - "~>"
|
84
74
|
- !ruby/object:Gem::Version
|
85
|
-
version: '
|
75
|
+
version: '1.1'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - "~>"
|
92
81
|
- !ruby/object:Gem::Version
|
93
|
-
version: '
|
82
|
+
version: '1.1'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: webmock
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - "~>"
|
100
88
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
89
|
+
version: '1.8'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - "~>"
|
108
95
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
96
|
+
version: '1.8'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: yard
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - "~>"
|
116
102
|
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
103
|
+
version: '0.8'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - "~>"
|
124
109
|
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
110
|
+
version: '0.8'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: simplecov
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
|
-
- -
|
115
|
+
- - "~>"
|
132
116
|
- !ruby/object:Gem::Version
|
133
|
-
version: '0'
|
117
|
+
version: '0.8'
|
134
118
|
type: :development
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
|
-
- -
|
122
|
+
- - "~>"
|
140
123
|
- !ruby/object:Gem::Version
|
141
|
-
version: '0'
|
142
|
-
description:
|
143
|
-
|
124
|
+
version: '0.8'
|
125
|
+
description: |2
|
126
|
+
resque-exceptional provides a Resque failure backend that sends exceptions
|
127
|
+
raised by jobs to getexceptional.com.
|
144
128
|
email: luke@lividpenguin.com
|
145
129
|
executables: []
|
146
130
|
extensions: []
|
147
131
|
extra_rdoc_files: []
|
148
132
|
files:
|
133
|
+
- HISTORY.md
|
149
134
|
- LICENSE
|
150
|
-
- Rakefile
|
151
135
|
- README.md
|
152
|
-
-
|
136
|
+
- Rakefile
|
137
|
+
- lib/resque-exceptional.rb
|
138
|
+
- lib/resque/failure/exceptional.rb
|
153
139
|
- test/exceptional_test.rb
|
154
140
|
- test/resque_test.rb
|
155
141
|
- test/test_helper.rb
|
156
|
-
- lib/resque/failure/exceptional.rb
|
157
|
-
- lib/resque-exceptional.rb
|
158
142
|
homepage: http://github.com/lantins/resque-exceptional
|
159
|
-
licenses:
|
143
|
+
licenses:
|
144
|
+
- MIT
|
145
|
+
metadata: {}
|
160
146
|
post_install_message:
|
161
147
|
rdoc_options: []
|
162
148
|
require_paths:
|
163
149
|
- lib
|
164
150
|
required_ruby_version: !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
151
|
requirements:
|
167
|
-
- -
|
152
|
+
- - ">="
|
168
153
|
- !ruby/object:Gem::Version
|
169
154
|
version: '0'
|
170
155
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
171
|
-
none: false
|
172
156
|
requirements:
|
173
|
-
- -
|
157
|
+
- - ">="
|
174
158
|
- !ruby/object:Gem::Version
|
175
159
|
version: '0'
|
176
160
|
requirements: []
|
177
161
|
rubyforge_project:
|
178
|
-
rubygems_version:
|
162
|
+
rubygems_version: 2.2.0
|
179
163
|
signing_key:
|
180
|
-
specification_version:
|
164
|
+
specification_version: 4
|
181
165
|
summary: A Resque failure backend for getexceptional.com
|
182
166
|
test_files: []
|
183
167
|
has_rdoc: false
|