delayed_job_honeybadger 0.0.1 → 0.0.2
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 +4 -4
- data/Gemfile +3 -0
- data/Gemfile.lock +84 -0
- data/Guardfile +6 -0
- data/README.md +4 -1
- data/Rakefile +112 -0
- data/delayed_job_honeybadger.gemspec +23 -4
- data/lib/delayed/plugins/honeybadger.rb +6 -6
- data/lib/delayed_job_honeybadger.rb +3 -0
- data/spec/delayed/backend/test.rb +112 -0
- data/spec/delayed/serialization/test.rb +0 -0
- data/spec/lib/delayed_job_honeybadger_spec.rb +14 -0
- data/spec/spec_helper.rb +19 -0
- data/spec/support/cobra_job.rb +9 -0
- metadata +70 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 965afa1735cae2da416d846214a076921234a8a0
|
4
|
+
data.tar.gz: f27762eb4bc9a0b4f0047afe882aa877de55c23a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6205291fa407d383f7c0835cc1273783396fe7f47593c3fa57e8f05599293c60e74591832ef0474f713de0967acdf76a8c3b46881f69f9cdf7d1ba244d01f74a
|
7
|
+
data.tar.gz: a8e5aabeae56fe4014d7559cadc5c141c1930cdfb5895cb8f6d3430e8614449127869f067b2c26362c906afcefe6e411813206f39d30f01fd59f891e81f2ec01
|
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
delayed_job_honeybadger (0.0.2)
|
5
|
+
delayed_job
|
6
|
+
honeybadger
|
7
|
+
|
8
|
+
GEM
|
9
|
+
remote: https://rubygems.org/
|
10
|
+
specs:
|
11
|
+
activesupport (4.0.0)
|
12
|
+
i18n (~> 0.6, >= 0.6.4)
|
13
|
+
minitest (~> 4.2)
|
14
|
+
multi_json (~> 1.3)
|
15
|
+
thread_safe (~> 0.1)
|
16
|
+
tzinfo (~> 0.3.37)
|
17
|
+
atomic (1.1.14)
|
18
|
+
coderay (1.0.9)
|
19
|
+
delayed_job (4.0.0)
|
20
|
+
activesupport (>= 3.0, < 4.1)
|
21
|
+
diff-lcs (1.2.4)
|
22
|
+
ffi (1.9.0)
|
23
|
+
formatador (0.2.4)
|
24
|
+
fuubar (1.2.1)
|
25
|
+
rspec (~> 2.0)
|
26
|
+
rspec-instafail (~> 0.2.0)
|
27
|
+
ruby-progressbar (~> 1.0)
|
28
|
+
guard (1.8.2)
|
29
|
+
formatador (>= 0.2.4)
|
30
|
+
listen (>= 1.0.0)
|
31
|
+
lumberjack (>= 1.0.2)
|
32
|
+
pry (>= 0.9.10)
|
33
|
+
thor (>= 0.14.6)
|
34
|
+
guard-rspec (3.0.3)
|
35
|
+
guard (>= 1.8)
|
36
|
+
rspec (~> 2.13)
|
37
|
+
honeybadger (1.8.0)
|
38
|
+
json
|
39
|
+
i18n (0.6.5)
|
40
|
+
json (1.8.0)
|
41
|
+
listen (1.3.1)
|
42
|
+
rb-fsevent (>= 0.9.3)
|
43
|
+
rb-inotify (>= 0.9)
|
44
|
+
rb-kqueue (>= 0.2)
|
45
|
+
lumberjack (1.0.4)
|
46
|
+
method_source (0.8.2)
|
47
|
+
minitest (4.7.5)
|
48
|
+
multi_json (1.8.0)
|
49
|
+
pry (0.9.12.2)
|
50
|
+
coderay (~> 1.0.5)
|
51
|
+
method_source (~> 0.8)
|
52
|
+
slop (~> 3.4)
|
53
|
+
rake (10.1.0)
|
54
|
+
rb-fsevent (0.9.3)
|
55
|
+
rb-inotify (0.9.2)
|
56
|
+
ffi (>= 0.5.0)
|
57
|
+
rb-kqueue (0.2.0)
|
58
|
+
ffi (>= 0.5.0)
|
59
|
+
rspec (2.14.1)
|
60
|
+
rspec-core (~> 2.14.0)
|
61
|
+
rspec-expectations (~> 2.14.0)
|
62
|
+
rspec-mocks (~> 2.14.0)
|
63
|
+
rspec-core (2.14.5)
|
64
|
+
rspec-expectations (2.14.2)
|
65
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
66
|
+
rspec-instafail (0.2.4)
|
67
|
+
rspec-mocks (2.14.3)
|
68
|
+
ruby-progressbar (1.2.0)
|
69
|
+
slop (3.4.6)
|
70
|
+
thor (0.18.1)
|
71
|
+
thread_safe (0.1.3)
|
72
|
+
atomic
|
73
|
+
tzinfo (0.3.37)
|
74
|
+
|
75
|
+
PLATFORMS
|
76
|
+
ruby
|
77
|
+
|
78
|
+
DEPENDENCIES
|
79
|
+
delayed_job_honeybadger!
|
80
|
+
fuubar
|
81
|
+
guard
|
82
|
+
guard-rspec
|
83
|
+
rake
|
84
|
+
rspec
|
data/Guardfile
ADDED
@@ -0,0 +1,6 @@
|
|
1
|
+
guard :rspec, cli: '--format Fuubar --fail-fast', all_after_pass: false, all_on_start: false do
|
2
|
+
watch(%r{^spec/.+_spec\.rb$})
|
3
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
|
4
|
+
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/delayed_job_honeybadger_spec.rb" }
|
5
|
+
watch('spec/spec_helper.rb') { "spec" }
|
6
|
+
end
|
data/README.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
-
Delayed Job
|
1
|
+
Delayed Job Honeybadger
|
2
2
|
-----------------------
|
3
3
|
|
4
|
+
[](http://travis-ci.org/honeybadger-io/delayed_job_honeybadger)
|
5
|
+
[](http://badge.fury.io/rb/delayed_job_honeybadger)
|
6
|
+
|
4
7
|
Notify Honeybadger of errors in Delayed Job workers.
|
5
8
|
|
6
9
|
Adapted from [this](http://stackoverflow.com/a/14172132/1332687) and
|
data/Rakefile
ADDED
@@ -0,0 +1,112 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler/setup'
|
3
|
+
require 'rake'
|
4
|
+
require 'date'
|
5
|
+
|
6
|
+
#############################################################################
|
7
|
+
#
|
8
|
+
# Helper functions
|
9
|
+
#
|
10
|
+
#############################################################################
|
11
|
+
|
12
|
+
def name
|
13
|
+
@name ||= Dir['*.gemspec'].first.split('.').first
|
14
|
+
end
|
15
|
+
|
16
|
+
def version
|
17
|
+
line = File.read("lib/#{name}.rb")[/^\s*VERSION\s*=\s*.*/]
|
18
|
+
line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
|
19
|
+
end
|
20
|
+
|
21
|
+
def date
|
22
|
+
Date.today.to_s
|
23
|
+
end
|
24
|
+
|
25
|
+
def gemspec_file
|
26
|
+
"#{name}.gemspec"
|
27
|
+
end
|
28
|
+
|
29
|
+
def gem_file
|
30
|
+
"#{name}-#{version}.gem"
|
31
|
+
end
|
32
|
+
|
33
|
+
def replace_header(head, header_name)
|
34
|
+
head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
|
35
|
+
end
|
36
|
+
|
37
|
+
#############################################################################
|
38
|
+
#
|
39
|
+
# Standard tasks
|
40
|
+
#
|
41
|
+
#############################################################################
|
42
|
+
|
43
|
+
require 'rspec/core/rake_task'
|
44
|
+
RSpec::Core::RakeTask.new(:spec)
|
45
|
+
task :default => :spec
|
46
|
+
task :test => :spec
|
47
|
+
|
48
|
+
#############################################################################
|
49
|
+
#
|
50
|
+
# Packaging tasks
|
51
|
+
#
|
52
|
+
#############################################################################
|
53
|
+
|
54
|
+
desc "Create tag v#{version} and build and push #{gem_file} to Rubygems"
|
55
|
+
task :release => :build do
|
56
|
+
unless `git branch` =~ /^\* master$/
|
57
|
+
puts "You must be on the master branch to release!"
|
58
|
+
exit!
|
59
|
+
end
|
60
|
+
sh "git commit --allow-empty -a -m 'Release #{version}'"
|
61
|
+
sh "git tag v#{version}"
|
62
|
+
sh "git push origin master"
|
63
|
+
sh "git push origin v#{version}"
|
64
|
+
sh "gem push pkg/#{name}-#{version}.gem"
|
65
|
+
end
|
66
|
+
|
67
|
+
desc "Build #{gem_file} into the pkg directory"
|
68
|
+
task :build => :gemspec do
|
69
|
+
sh "mkdir -p pkg"
|
70
|
+
sh "gem build #{gemspec_file}"
|
71
|
+
sh "mv #{gem_file} pkg"
|
72
|
+
end
|
73
|
+
|
74
|
+
desc "Generate #{gemspec_file}"
|
75
|
+
task :gemspec => :validate do
|
76
|
+
# read spec file and split out manifest section
|
77
|
+
spec = File.read(gemspec_file)
|
78
|
+
head, manifest, tail = spec.split(" # = MANIFEST =\n")
|
79
|
+
|
80
|
+
# replace name version and date
|
81
|
+
replace_header(head, :name)
|
82
|
+
replace_header(head, :version)
|
83
|
+
replace_header(head, :date)
|
84
|
+
|
85
|
+
# determine file list from git ls-files
|
86
|
+
files = `git ls-files`.
|
87
|
+
split("\n").
|
88
|
+
sort.
|
89
|
+
reject { |file| file =~ /^\./ }.
|
90
|
+
reject { |file| file =~ /^(rdoc|pkg)/ }.
|
91
|
+
map { |file| " #{file}" }.
|
92
|
+
join("\n")
|
93
|
+
|
94
|
+
# piece file back together and write
|
95
|
+
manifest = " s.files = %w[\n#{files}\n ]\n"
|
96
|
+
spec = [head, manifest, tail].join(" # = MANIFEST =\n")
|
97
|
+
File.open(gemspec_file, 'w') { |io| io.write(spec) }
|
98
|
+
puts "Updated #{gemspec_file}"
|
99
|
+
end
|
100
|
+
|
101
|
+
desc "Validate #{gemspec_file}"
|
102
|
+
task :validate do
|
103
|
+
libfiles = Dir['lib/*'] - ["lib/#{name}.rb", "lib/#{name}", "lib/delayed"]
|
104
|
+
unless libfiles.empty?
|
105
|
+
puts "Directory `lib` should only contain a `#{name}.rb` file and `#{name}` dir."
|
106
|
+
exit!
|
107
|
+
end
|
108
|
+
unless Dir['VERSION*'].empty?
|
109
|
+
puts "A `VERSION` file at root level violates Gem best practices."
|
110
|
+
exit!
|
111
|
+
end
|
112
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'delayed_job_honeybadger'
|
3
|
-
s.version = '0.0.
|
4
|
-
s.date = '2013-
|
3
|
+
s.version = '0.0.2'
|
4
|
+
s.date = '2013-10-01'
|
5
5
|
|
6
6
|
s.summary = "Honeybadger plugin for Delayed Job"
|
7
7
|
s.description = "Notifies Honeybadger of errors in Delayed Job workers."
|
@@ -15,11 +15,30 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.add_dependency('honeybadger')
|
16
16
|
s.add_dependency('delayed_job')
|
17
17
|
|
18
|
+
s.add_development_dependency('rspec')
|
19
|
+
s.add_development_dependency('guard')
|
20
|
+
s.add_development_dependency('guard-rspec')
|
21
|
+
s.add_development_dependency('fuubar')
|
22
|
+
|
23
|
+
## Leave this section as-is. It will be automatically generated from the
|
24
|
+
## contents of your Git repository via the gemspec task. DO NOT REMOVE
|
25
|
+
## THE MANIFEST COMMENTS, they are used as delimiters by the task.
|
26
|
+
# = MANIFEST =
|
18
27
|
s.files = %w[
|
19
|
-
|
28
|
+
Gemfile
|
29
|
+
Gemfile.lock
|
30
|
+
Guardfile
|
20
31
|
LICENSE
|
21
32
|
README.md
|
22
|
-
|
33
|
+
Rakefile
|
34
|
+
delayed_job_honeybadger.gemspec
|
23
35
|
lib/delayed/plugins/honeybadger.rb
|
36
|
+
lib/delayed_job_honeybadger.rb
|
37
|
+
spec/delayed/backend/test.rb
|
38
|
+
spec/delayed/serialization/test.rb
|
39
|
+
spec/lib/delayed_job_honeybadger_spec.rb
|
40
|
+
spec/spec_helper.rb
|
41
|
+
spec/support/cobra_job.rb
|
24
42
|
]
|
43
|
+
# = MANIFEST =
|
25
44
|
end
|
@@ -1,8 +1,3 @@
|
|
1
|
-
# Notify Honeybadger of errors in DelayedJob workers
|
2
|
-
# in /config/initializers/
|
3
|
-
#
|
4
|
-
# modified
|
5
|
-
|
6
1
|
module Delayed
|
7
2
|
module Plugins
|
8
3
|
class Honeybadger < Plugin
|
@@ -11,8 +6,13 @@ module Delayed
|
|
11
6
|
::Honeybadger.notify_or_ignore(
|
12
7
|
:error_class => error.class.name,
|
13
8
|
:error_message => "#{ error.class.name }: #{ error.message }",
|
9
|
+
:backtrace => error.backtrace,
|
14
10
|
:context => {
|
15
|
-
:
|
11
|
+
:job_id => job.id,
|
12
|
+
:handler => job.handler,
|
13
|
+
:last_error => job.last_error,
|
14
|
+
:attempts => job.attempts,
|
15
|
+
:queue => job.queue
|
16
16
|
}
|
17
17
|
)
|
18
18
|
super if defined?(super)
|
@@ -0,0 +1,112 @@
|
|
1
|
+
require 'ostruct'
|
2
|
+
|
3
|
+
# An in-memory backend suitable only for testing. Tries to behave as if it were an ORM.
|
4
|
+
module Delayed
|
5
|
+
module Backend
|
6
|
+
module Test
|
7
|
+
class Job
|
8
|
+
attr_accessor :id
|
9
|
+
attr_accessor :priority
|
10
|
+
attr_accessor :attempts
|
11
|
+
attr_accessor :handler
|
12
|
+
attr_accessor :last_error
|
13
|
+
attr_accessor :run_at
|
14
|
+
attr_accessor :locked_at
|
15
|
+
attr_accessor :locked_by
|
16
|
+
attr_accessor :failed_at
|
17
|
+
attr_accessor :queue
|
18
|
+
|
19
|
+
include Delayed::Backend::Base
|
20
|
+
|
21
|
+
cattr_accessor :id
|
22
|
+
self.id = 0
|
23
|
+
|
24
|
+
def initialize(hash = {})
|
25
|
+
self.attempts = 0
|
26
|
+
self.priority = 0
|
27
|
+
self.id = (self.class.id += 1)
|
28
|
+
hash.each{|k,v| send(:"#{k}=", v)}
|
29
|
+
end
|
30
|
+
|
31
|
+
@jobs = []
|
32
|
+
def self.all
|
33
|
+
@jobs
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.count
|
37
|
+
all.size
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.delete_all
|
41
|
+
all.clear
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.create(attrs = {})
|
45
|
+
new(attrs).tap do |o|
|
46
|
+
o.save
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.create!(*args); create(*args); end
|
51
|
+
|
52
|
+
def self.clear_locks!(worker_name)
|
53
|
+
all.select{|j| j.locked_by == worker_name}.each {|j| j.locked_by = nil; j.locked_at = nil}
|
54
|
+
end
|
55
|
+
|
56
|
+
# Find a few candidate jobs to run (in case some immediately get locked by others).
|
57
|
+
def self.find_available(worker_name, limit = 5, max_run_time = Worker.max_run_time)
|
58
|
+
jobs = all.select do |j|
|
59
|
+
j.run_at <= db_time_now &&
|
60
|
+
(j.locked_at.nil? || j.locked_at < db_time_now - max_run_time || j.locked_by == worker_name) &&
|
61
|
+
!j.failed?
|
62
|
+
end
|
63
|
+
|
64
|
+
jobs = jobs.select{|j| Worker.queues.include?(j.queue)} if Worker.queues.any?
|
65
|
+
jobs = jobs.select{|j| j.priority >= Worker.min_priority} if Worker.min_priority
|
66
|
+
jobs = jobs.select{|j| j.priority <= Worker.max_priority} if Worker.max_priority
|
67
|
+
jobs.sort_by{|j| [j.priority, j.run_at]}[0..limit-1]
|
68
|
+
end
|
69
|
+
|
70
|
+
# Lock this job for this worker.
|
71
|
+
# Returns true if we have the lock, false otherwise.
|
72
|
+
def lock_exclusively!(max_run_time, worker)
|
73
|
+
now = self.class.db_time_now
|
74
|
+
if locked_by != worker
|
75
|
+
# We don't own this job so we will update the locked_by name and the locked_at
|
76
|
+
self.locked_at = now
|
77
|
+
self.locked_by = worker
|
78
|
+
end
|
79
|
+
|
80
|
+
return true
|
81
|
+
end
|
82
|
+
|
83
|
+
def self.db_time_now
|
84
|
+
Time.current
|
85
|
+
end
|
86
|
+
|
87
|
+
def update_attributes(attrs = {})
|
88
|
+
attrs.each{|k,v| send(:"#{k}=", v)}
|
89
|
+
save
|
90
|
+
end
|
91
|
+
|
92
|
+
def destroy
|
93
|
+
self.class.all.delete(self)
|
94
|
+
end
|
95
|
+
|
96
|
+
def save
|
97
|
+
self.run_at ||= Time.current
|
98
|
+
|
99
|
+
self.class.all << self unless self.class.all.include?(self)
|
100
|
+
true
|
101
|
+
end
|
102
|
+
|
103
|
+
def save!; save; end
|
104
|
+
|
105
|
+
def reload
|
106
|
+
reset
|
107
|
+
self
|
108
|
+
end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
File without changes
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'Delayed job integration' do
|
4
|
+
it 'sends notice to honeybadger' do
|
5
|
+
Delayed::Job.enqueue CobraJob.new
|
6
|
+
Honeybadger.should_receive(:notify_or_ignore).with(hash_including({
|
7
|
+
error_class: 'RuntimeError',
|
8
|
+
error_message: 'RuntimeError: cobras!',
|
9
|
+
backtrace: kind_of(Array),
|
10
|
+
context: kind_of(Hash)
|
11
|
+
}))
|
12
|
+
expect { Delayed::Worker.new.work_off(1) }.not_to raise_error
|
13
|
+
end
|
14
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'delayed_job'
|
3
|
+
require 'delayed_job_honeybadger'
|
4
|
+
|
5
|
+
# Require files in spec/support/ and its subdirectories.
|
6
|
+
Dir[File.expand_path('../../spec/support/**/*.rb', __FILE__)].each {|f| require f}
|
7
|
+
|
8
|
+
# Use test backend
|
9
|
+
Delayed::Worker.backend = :test
|
10
|
+
|
11
|
+
RSpec.configure do |c|
|
12
|
+
c.mock_with :rspec
|
13
|
+
c.color_enabled = true
|
14
|
+
c.tty = true
|
15
|
+
|
16
|
+
c.treat_symbols_as_metadata_keys_with_true_values = true
|
17
|
+
c.filter_run :focus => true
|
18
|
+
c.run_all_when_everything_filtered = true
|
19
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: delayed_job_honeybadger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Wood
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: honeybadger
|
@@ -38,17 +38,82 @@ dependencies:
|
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: guard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: guard-rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: fuubar
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
41
97
|
description: Notifies Honeybadger of errors in Delayed Job workers.
|
42
98
|
email: josh@honeybadger.io
|
43
99
|
executables: []
|
44
100
|
extensions: []
|
45
101
|
extra_rdoc_files: []
|
46
102
|
files:
|
47
|
-
-
|
103
|
+
- Gemfile
|
104
|
+
- Gemfile.lock
|
105
|
+
- Guardfile
|
48
106
|
- LICENSE
|
49
107
|
- README.md
|
50
|
-
-
|
108
|
+
- Rakefile
|
109
|
+
- delayed_job_honeybadger.gemspec
|
51
110
|
- lib/delayed/plugins/honeybadger.rb
|
111
|
+
- lib/delayed_job_honeybadger.rb
|
112
|
+
- spec/delayed/backend/test.rb
|
113
|
+
- spec/delayed/serialization/test.rb
|
114
|
+
- spec/lib/delayed_job_honeybadger_spec.rb
|
115
|
+
- spec/spec_helper.rb
|
116
|
+
- spec/support/cobra_job.rb
|
52
117
|
homepage: https://github.com/honeybadger-io/delayed_job_honeybadger
|
53
118
|
licenses: []
|
54
119
|
metadata: {}
|
@@ -68,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
68
133
|
version: '0'
|
69
134
|
requirements: []
|
70
135
|
rubyforge_project:
|
71
|
-
rubygems_version: 2.0.
|
136
|
+
rubygems_version: 2.0.3
|
72
137
|
signing_key:
|
73
138
|
specification_version: 4
|
74
139
|
summary: Honeybadger plugin for Delayed Job
|