rainforest-guard-resque 0.0.6
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.
- data/.gitignore +6 -0
- data/.travis.yml +2 -0
- data/CHANGELOG.md +46 -0
- data/Gemfile +4 -0
- data/Guardfile +10 -0
- data/LICENSE +18 -0
- data/README.md +115 -0
- data/Rakefile +33 -0
- data/guard-resque.gemspec +30 -0
- data/lib/guard-resque.rb +1 -0
- data/lib/guard/resque.rb +118 -0
- data/lib/guard/resque/templates/Guardfile +12 -0
- data/lib/guard/resque/version.rb +5 -0
- data/spec/guard/resque_spec.rb +74 -0
- data/spec/spec_helper.rb +10 -0
- metadata +182 -0
data/.gitignore
ADDED
data/.travis.yml
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
## 0.0.6 (2013-01-15)
|
2
|
+
|
3
|
+
* Added Travis CI image and set it up
|
4
|
+
* Added Gemnasium to check dependancies
|
5
|
+
* Clarified documentation
|
6
|
+
* Made the output to Guard's console more consistent
|
7
|
+
* Allow custom SIGKILL timeout instead
|
8
|
+
* Fixed "WARNING: This way of doing signal handling is now deprecated. Please see http://hone.heroku.com/resque/2012/08/21/resque-signals.html for more info."
|
9
|
+
|
10
|
+
## 0.0.5
|
11
|
+
|
12
|
+
* Unknown (to be updated later)
|
13
|
+
|
14
|
+
## 0.0.4
|
15
|
+
|
16
|
+
* Add a :vverbose option to distinguish from the :verbose option
|
17
|
+
* Add a timeout when killing Resque, to force it with SIGKILL
|
18
|
+
* Change the way the #spawn call is made, so it doesn't create a subshell to launch
|
19
|
+
Resque, which was causing issue #2
|
20
|
+
|
21
|
+
## 0.0.3
|
22
|
+
|
23
|
+
* Forked from guard-delayed and started guard-resque
|
24
|
+
|
25
|
+
|
26
|
+
-- guard-delayed --
|
27
|
+
|
28
|
+
## 0.1.0 (2011-07-28)
|
29
|
+
|
30
|
+
* Fixed options for current delayed_job version (from dbloete)
|
31
|
+
* Environment settings needed to be passed in via RAILS_ENV=
|
32
|
+
|
33
|
+
## 0.0.9 (2011-06-22)
|
34
|
+
|
35
|
+
* Fixed argument passing to the start script
|
36
|
+
* Cleaned up some documentation.
|
37
|
+
|
38
|
+
## 0.0.8 (2011-05-24)
|
39
|
+
|
40
|
+
* Changed template to include :environment => 'development'
|
41
|
+
* Changed name from 'guard-delayed_job' to 'guard-delayed'
|
42
|
+
* Fixed options passing
|
43
|
+
|
44
|
+
## 0.0.3 (2011-05-23)
|
45
|
+
|
46
|
+
* Initial release.
|
data/Gemfile
ADDED
data/Guardfile
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
2
|
+
a copy of this software and associated documentation files (the
|
3
|
+
"Software"), to deal in the Software without restriction, including
|
4
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
5
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
6
|
+
permit persons to whom the Software is furnished to do so, subject to
|
7
|
+
the following conditions:
|
8
|
+
|
9
|
+
The above copyright notice and this permission notice shall be
|
10
|
+
included in all copies or substantial portions of the Software.
|
11
|
+
|
12
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
13
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
14
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
15
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
16
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
17
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
18
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,115 @@
|
|
1
|
+
[](https://travis-ci.org/rainforestapp/guard-resque)
|
2
|
+
|
3
|
+
[](https://gemnasium.com/rainforestapp/guard-resque)
|
4
|
+
|
5
|
+
|
6
|
+
# Guard::Resque
|
7
|
+
|
8
|
+
Guard::Resque automatically starts/stops/restarts resque workers
|
9
|
+
|
10
|
+
*Forked from [Guard::Resque](http://github.com/railsjedi/guard-resque)*
|
11
|
+
|
12
|
+
## Install
|
13
|
+
|
14
|
+
Please be sure to have [Guard](http://github.com/guard/guard) installed before you continue.
|
15
|
+
|
16
|
+
Install the gem:
|
17
|
+
|
18
|
+
```bash
|
19
|
+
gem install ainforest-guard-resque
|
20
|
+
```
|
21
|
+
|
22
|
+
Add it to your Gemfile (inside test group):
|
23
|
+
|
24
|
+
```bash
|
25
|
+
gem 'ainforest-guard-resque'
|
26
|
+
```
|
27
|
+
|
28
|
+
Add guard definition to your Guardfile by running this command:
|
29
|
+
|
30
|
+
```bash
|
31
|
+
guard init resque
|
32
|
+
```
|
33
|
+
|
34
|
+
## Usage
|
35
|
+
|
36
|
+
Please read Guards [usage documents](http://github.com/guard/guard#readme).
|
37
|
+
|
38
|
+
I suggest you put the resque guard definition *before* your test/rspec guard if your tests depend on it being active.
|
39
|
+
|
40
|
+
### Guardfile
|
41
|
+
|
42
|
+
```ruby
|
43
|
+
guard 'resque', :environment => 'development' do
|
44
|
+
watch(%r{^app/(.+)\.rb$})
|
45
|
+
watch(%r{^lib/(.+)\.rb$})
|
46
|
+
end
|
47
|
+
```
|
48
|
+
|
49
|
+
Feel free to be more specific, for example watching only for `app/models` and `app/jobs` to avoid reloading on a javascript file change.
|
50
|
+
|
51
|
+
### Options
|
52
|
+
|
53
|
+
You can customize the resque task via the following options:
|
54
|
+
|
55
|
+
* `environment`: the rails environment to run the workers in (defaults to `nil`)
|
56
|
+
* `task`: the name of the rake task to use (defaults to `"resque:work"`)
|
57
|
+
* `queue`: the resque queue to run (defaults to `"*"`)
|
58
|
+
* `interval`: the interval to use for checking for new resque jobs (defaults to `5`)
|
59
|
+
* `count`: the number of workers to include (defaults to `1`)
|
60
|
+
* `verbose`: whether to use verbose logging (defaults to `nil`)
|
61
|
+
* `vverbose`: whether to use very verbose logging (defaults to `nil`)
|
62
|
+
* `trace`: whether to include `--trace` on the rake command (defaults to `nil`)
|
63
|
+
* `stop_signal`: how to kill the process when restarting (defaults to `SIGTERM`)
|
64
|
+
* `stop_timeout`: how long to wait (in seconds) for resque to exit (defaults to 5 seconds, one more than the resque default)
|
65
|
+
* `term_child`: defaults to 1 to use the new signal handling in 2.x
|
66
|
+
|
67
|
+
|
68
|
+
## Development
|
69
|
+
|
70
|
+
* Source hosted at [GitHub](http://github.com/ukd1/guard-resque)
|
71
|
+
* Report issues/Questions/Feature requests on [GitHub Issues](http://github.com/ukd1/guard-resque/issues)
|
72
|
+
|
73
|
+
Pull requests are very welcome! Make sure your patches are well tested. Please create a topic branch for every separate change you make.
|
74
|
+
|
75
|
+
### Testing the gem locally
|
76
|
+
|
77
|
+
```bash
|
78
|
+
gem install guard-resque-0.x.x.gem
|
79
|
+
```
|
80
|
+
|
81
|
+
### Building and deploying gem
|
82
|
+
|
83
|
+
* Update the version number in `lib/guard/resque/version.rb`
|
84
|
+
* Update `CHANGELOG.md`
|
85
|
+
* Build the gem:
|
86
|
+
|
87
|
+
```bash
|
88
|
+
gem build guard-resque.gemspec
|
89
|
+
```
|
90
|
+
|
91
|
+
* Push to rubygems.org:
|
92
|
+
|
93
|
+
```bash
|
94
|
+
gem push guard-resque-0.x.x.gem
|
95
|
+
```
|
96
|
+
|
97
|
+
|
98
|
+
### Guard::Delayed Authors
|
99
|
+
|
100
|
+
* [David Parry](https://github.com/suranyami)
|
101
|
+
* [Dennis Reimann](https://github.com/dbloete)
|
102
|
+
|
103
|
+
Ideas for this gem came from [Guard::WEBrick](http://github.com/fnichol/guard-webrick).
|
104
|
+
|
105
|
+
|
106
|
+
### Guard::Resque Authors
|
107
|
+
|
108
|
+
[Jacques Crocker](https://github.com/railsjedi) hacked this together from the `guard-delayed` gem for use with Resque. All credit go to the original authors though. Jacques just search/replaced and tweaked a few things.
|
109
|
+
|
110
|
+
I've ([ukd1](https://github.com/ukd1)) only fixed a few issues that have cropped up recently that were annoying and unfixed.
|
111
|
+
|
112
|
+
|
113
|
+
## License
|
114
|
+
|
115
|
+
MIT License. See [LICENSE](/rainforestapp/guard-resque/blob/master/LICENSE) for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler::GemHelper.install_tasks
|
3
|
+
|
4
|
+
require 'rspec/core/rake_task'
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
task :default => :spec
|
7
|
+
|
8
|
+
namespace :spec do
|
9
|
+
desc "Run all specs on multiple ruby versions (requires rvm)"
|
10
|
+
task :portability do
|
11
|
+
|
12
|
+
command = <<-BASH
|
13
|
+
source ~/.rvm/scripts/rvm;
|
14
|
+
rvm #{ENV['RUBIES'] || 'all'} do bundle exec rake spec
|
15
|
+
BASH
|
16
|
+
system "bash -c '#{command}'"
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
namespace :portability do
|
21
|
+
desc 'Installs bundler/rake and runs bundle install for all rubies'
|
22
|
+
task :prepare do
|
23
|
+
# FIXME: This isn't working for me when it gets to JRuby, specs are running fine - RL
|
24
|
+
command = <<-BASH
|
25
|
+
source ~/.rvm/scripts/rvm;
|
26
|
+
rvm #{ENV['RUBIES'] || 'all'} do gem install bundler rake;
|
27
|
+
rvm #{ENV['RUBIES'] || 'all'} do bundle install
|
28
|
+
BASH
|
29
|
+
|
30
|
+
system "bash -c '#{command}'"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "guard/resque/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "rainforest-guard-resque"
|
7
|
+
s.version = Guard::ResqueVersion::VERSION
|
8
|
+
s.platform = Gem::Platform::RUBY
|
9
|
+
s.authors = ["Jacques Crocker", "Ryan Long", "David Parry", "Jim Deville", "Russell Smith"]
|
10
|
+
s.email = ["railsjedi@gmail.com", "ryan@rtlong.com", "james.deville@gmail.com", "russ@rainforestqa.com"]
|
11
|
+
s.homepage = 'http://github.com/rainforestapp/guard-resque'
|
12
|
+
s.summary = %q{guard gem for resque}
|
13
|
+
s.description = %q{Guard::Resque automatically starts/stops/restarts resque worker}
|
14
|
+
|
15
|
+
s.required_rubygems_version = '>= 1.3.6'
|
16
|
+
|
17
|
+
s.add_dependency 'guard', '>= 1.1'
|
18
|
+
s.add_dependency 'resque'
|
19
|
+
|
20
|
+
s.add_development_dependency 'bundler'
|
21
|
+
s.add_development_dependency 'rake'
|
22
|
+
s.add_development_dependency 'rspec'
|
23
|
+
s.add_development_dependency 'guard-rspec', '>= 0.2.0'
|
24
|
+
s.add_development_dependency 'guard-bundler', '>= 0.1.1'
|
25
|
+
|
26
|
+
s.files = `git ls-files`.split("\n")
|
27
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
28
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
29
|
+
s.require_paths = ["lib"]
|
30
|
+
end
|
data/lib/guard-resque.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'guard/resque'
|
data/lib/guard/resque.rb
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
require 'guard'
|
2
|
+
require 'guard/guard'
|
3
|
+
require 'timeout'
|
4
|
+
|
5
|
+
module Guard
|
6
|
+
class Resque < Guard
|
7
|
+
|
8
|
+
DEFAULT_TERM_CHILD = 1
|
9
|
+
DEFAULT_SIGNAL = :SIGTERM
|
10
|
+
DEFAULT_QUEUE = '*'.freeze
|
11
|
+
DEFAULT_COUNT = 1
|
12
|
+
DEFAULT_TASK_SINGLE = 'resque:work'.freeze
|
13
|
+
DEFAULT_TASK_MULTIPLE = 'resque:workers'.freeze
|
14
|
+
|
15
|
+
# Allowable options are:
|
16
|
+
# - :environment e.g. 'test'
|
17
|
+
# - :task .e.g 'resque:work'
|
18
|
+
# - :queue e.g. '*'
|
19
|
+
# - :count e.g. 3
|
20
|
+
# - :interval e.g. 5
|
21
|
+
# - :verbose e.g. true
|
22
|
+
# - :vverbose e.g. true
|
23
|
+
# - :trace e.g. true
|
24
|
+
# - :stop_signal e.g. :QUIT or :SIGQUIT
|
25
|
+
# - :stop_timeout in seconds. Defaults to 5 seconds (one more than resque)
|
26
|
+
# - :term_child defaults to 1 to use the new signal handling in 2.x
|
27
|
+
def initialize watchers = [], options = {}
|
28
|
+
@options = options
|
29
|
+
@pid = nil
|
30
|
+
@stop_signal = options[:stop_signal] || DEFAULT_SIGNAL
|
31
|
+
@stop_timeout = options[:stop_timeout] || 5
|
32
|
+
|
33
|
+
@options[:term_child] ||= DEFAULT_TERM_CHILD
|
34
|
+
@options[:queue] ||= DEFAULT_QUEUE
|
35
|
+
@options[:count] ||= DEFAULT_COUNT
|
36
|
+
@options[:task] ||= (@options[:count].to_i == 1) ? DEFAULT_TASK_SINGLE : DEFAULT_TASK_MULTIPLE
|
37
|
+
super
|
38
|
+
end
|
39
|
+
|
40
|
+
def start
|
41
|
+
stop
|
42
|
+
UI.info 'Resque: Starting...'
|
43
|
+
UI.info 'Resque: ' + [ cmd, env.map{|v| v.join('=')} ].join(' ')
|
44
|
+
|
45
|
+
# launch Resque worker
|
46
|
+
@pid = spawn(env, cmd)
|
47
|
+
end
|
48
|
+
|
49
|
+
def stop
|
50
|
+
if @pid
|
51
|
+
UI.info 'Resque: Stopping...'
|
52
|
+
::Process.kill @stop_signal, @pid
|
53
|
+
begin
|
54
|
+
Timeout.timeout(@stop_timeout) do
|
55
|
+
::Process.wait @pid
|
56
|
+
end
|
57
|
+
rescue Timeout::Error
|
58
|
+
UI.info "Resque: Sending SIGKILL as it has taken longer than #{@stop_timeout} to exit. Customize this with the stop_timeout option."
|
59
|
+
::Process.kill :KILL, @pid
|
60
|
+
::Process.wait @pid
|
61
|
+
end
|
62
|
+
UI.info 'Resque: Stopped'
|
63
|
+
end
|
64
|
+
rescue Errno::ESRCH
|
65
|
+
UI.info 'Resque: lost the worker subprocess!'
|
66
|
+
ensure
|
67
|
+
@pid = nil
|
68
|
+
end
|
69
|
+
|
70
|
+
# Called on Ctrl-Z signal
|
71
|
+
def reload
|
72
|
+
UI.info 'Resque: Restarting...'
|
73
|
+
restart
|
74
|
+
end
|
75
|
+
|
76
|
+
# Called on Ctrl-/ signal
|
77
|
+
def run_all
|
78
|
+
true
|
79
|
+
end
|
80
|
+
|
81
|
+
# Called on file(s) modifications
|
82
|
+
def run_on_changes paths
|
83
|
+
restart
|
84
|
+
end
|
85
|
+
|
86
|
+
def restart
|
87
|
+
stop
|
88
|
+
start
|
89
|
+
end
|
90
|
+
|
91
|
+
private
|
92
|
+
|
93
|
+
def cmd
|
94
|
+
command = ['bundle exec rake', @options[:task].to_s]
|
95
|
+
|
96
|
+
# trace setting
|
97
|
+
command << '--trace' if @options[:trace]
|
98
|
+
|
99
|
+
command.join(' ')
|
100
|
+
end
|
101
|
+
|
102
|
+
def env
|
103
|
+
var = Hash.new
|
104
|
+
|
105
|
+
var['TERM_CHILD']= @options[:term_child].to_s if @options[:term_child]
|
106
|
+
var['INTERVAL'] = @options[:interval].to_s if @options[:interval]
|
107
|
+
var['QUEUE'] = @options[:queue].to_s if @options[:queue]
|
108
|
+
var['COUNT'] = @options[:count].to_s if @options[:count]
|
109
|
+
var['RAILS_ENV'] = @options[:environment].to_s if @options[:environment]
|
110
|
+
|
111
|
+
var['VERBOSE'] = '1' if @options[:verbose]
|
112
|
+
var['VVERBOSE'] = '1' if @options[:vverbose]
|
113
|
+
|
114
|
+
var
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
### Guard::Resque
|
2
|
+
# available options:
|
3
|
+
# - :task (defaults to 'resque:work' if :count is 1; 'resque:workers', otherwise)
|
4
|
+
# - :verbose / :vverbose (set them to anything but false to activate their respective modes)
|
5
|
+
# - :trace
|
6
|
+
# - :queue (defaults to "*")
|
7
|
+
# - :count (defaults to 1)
|
8
|
+
# - :environment (corresponds to RAILS_ENV for the Resque worker)
|
9
|
+
guard 'resque', :environment => 'development' do
|
10
|
+
watch(%r{^app/(.+)\.rb$})
|
11
|
+
watch(%r{^lib/(.+)\.rb$})
|
12
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Guard::Resque do
|
4
|
+
describe 'start' do
|
5
|
+
|
6
|
+
it 'should accept :environment option' do
|
7
|
+
environment = :foo
|
8
|
+
|
9
|
+
obj = Guard::Resque.new [], :environment => environment
|
10
|
+
obj.send(:env).should include 'RAILS_ENV' => environment.to_s
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should accept :term_child option' do
|
14
|
+
queue = :foo
|
15
|
+
|
16
|
+
obj = Guard::Resque.new [], :term_child => 2
|
17
|
+
obj.send(:env).should include 'TERM_CHILD' => 2.to_s
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'should accept :queue option' do
|
21
|
+
queue = :foo
|
22
|
+
|
23
|
+
obj = Guard::Resque.new [], :queue => queue
|
24
|
+
obj.send(:env).should include 'QUEUE' => queue.to_s
|
25
|
+
end
|
26
|
+
|
27
|
+
it 'should accept :count option' do
|
28
|
+
count = 2
|
29
|
+
|
30
|
+
obj = Guard::Resque.new [], :count => count
|
31
|
+
obj.send(:env).should include 'COUNT' => count.to_s
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'should accept :vverbose option' do
|
35
|
+
obj = Guard::Resque.new [], :vverbose => true
|
36
|
+
obj.send(:env).should include 'VVERBOSE'
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'should accept :verbose option' do
|
40
|
+
obj = Guard::Resque.new [], :verbose => true
|
41
|
+
obj.send(:env).should include 'VERBOSE'
|
42
|
+
end
|
43
|
+
|
44
|
+
it 'should accept :trace option' do
|
45
|
+
obj = Guard::Resque.new [], :trace => true
|
46
|
+
obj.send(:cmd).should include '--trace'
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should accept :task option' do
|
50
|
+
task = 'environment foo'
|
51
|
+
|
52
|
+
obj = Guard::Resque.new [], :task => task
|
53
|
+
obj.send(:cmd).should include task
|
54
|
+
obj.send(:cmd).should_not include Guard::Resque::DEFAULT_TASK_SINGLE
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'should provide default options' do
|
58
|
+
obj = Guard::Resque.new []
|
59
|
+
obj.send(:env).should include 'QUEUE' => Guard::Resque::DEFAULT_QUEUE.to_s
|
60
|
+
obj.send(:env).should include 'COUNT' => Guard::Resque::DEFAULT_COUNT.to_s
|
61
|
+
obj.send(:cmd).should include Guard::Resque::DEFAULT_TASK_SINGLE
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should provide different default options when :count is multiple' do
|
65
|
+
count = 2
|
66
|
+
|
67
|
+
obj = Guard::Resque.new [], :count => count
|
68
|
+
obj.send(:env).should include 'QUEUE' => Guard::Resque::DEFAULT_QUEUE.to_s
|
69
|
+
obj.send(:env).should include 'COUNT' => count.to_s
|
70
|
+
obj.send(:cmd).should include Guard::Resque::DEFAULT_TASK_MULTIPLE
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,182 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rainforest-guard-resque
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Jacques Crocker
|
9
|
+
- Ryan Long
|
10
|
+
- David Parry
|
11
|
+
- Jim Deville
|
12
|
+
- Russell Smith
|
13
|
+
autorequire:
|
14
|
+
bindir: bin
|
15
|
+
cert_chain: []
|
16
|
+
date: 2013-01-15 00:00:00.000000000 Z
|
17
|
+
dependencies:
|
18
|
+
- !ruby/object:Gem::Dependency
|
19
|
+
name: guard
|
20
|
+
requirement: !ruby/object:Gem::Requirement
|
21
|
+
none: false
|
22
|
+
requirements:
|
23
|
+
- - ! '>='
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: '1.1'
|
26
|
+
type: :runtime
|
27
|
+
prerelease: false
|
28
|
+
version_requirements: !ruby/object:Gem::Requirement
|
29
|
+
none: false
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.1'
|
34
|
+
- !ruby/object:Gem::Dependency
|
35
|
+
name: resque
|
36
|
+
requirement: !ruby/object:Gem::Requirement
|
37
|
+
none: false
|
38
|
+
requirements:
|
39
|
+
- - ! '>='
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: '0'
|
42
|
+
type: :runtime
|
43
|
+
prerelease: false
|
44
|
+
version_requirements: !ruby/object:Gem::Requirement
|
45
|
+
none: false
|
46
|
+
requirements:
|
47
|
+
- - ! '>='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0'
|
50
|
+
- !ruby/object:Gem::Dependency
|
51
|
+
name: bundler
|
52
|
+
requirement: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ! '>='
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
type: :development
|
59
|
+
prerelease: false
|
60
|
+
version_requirements: !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
- !ruby/object:Gem::Dependency
|
67
|
+
name: rake
|
68
|
+
requirement: !ruby/object:Gem::Requirement
|
69
|
+
none: false
|
70
|
+
requirements:
|
71
|
+
- - ! '>='
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '0'
|
74
|
+
type: :development
|
75
|
+
prerelease: false
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
78
|
+
requirements:
|
79
|
+
- - ! '>='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: rspec
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
none: false
|
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
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ! '>='
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: guard-rspec
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
none: false
|
102
|
+
requirements:
|
103
|
+
- - ! '>='
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: 0.2.0
|
106
|
+
type: :development
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
none: false
|
110
|
+
requirements:
|
111
|
+
- - ! '>='
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: 0.2.0
|
114
|
+
- !ruby/object:Gem::Dependency
|
115
|
+
name: guard-bundler
|
116
|
+
requirement: !ruby/object:Gem::Requirement
|
117
|
+
none: false
|
118
|
+
requirements:
|
119
|
+
- - ! '>='
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: 0.1.1
|
122
|
+
type: :development
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: !ruby/object:Gem::Requirement
|
125
|
+
none: false
|
126
|
+
requirements:
|
127
|
+
- - ! '>='
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: 0.1.1
|
130
|
+
description: Guard::Resque automatically starts/stops/restarts resque worker
|
131
|
+
email:
|
132
|
+
- railsjedi@gmail.com
|
133
|
+
- ryan@rtlong.com
|
134
|
+
- james.deville@gmail.com
|
135
|
+
- russ@rainforestqa.com
|
136
|
+
executables: []
|
137
|
+
extensions: []
|
138
|
+
extra_rdoc_files: []
|
139
|
+
files:
|
140
|
+
- .gitignore
|
141
|
+
- .travis.yml
|
142
|
+
- CHANGELOG.md
|
143
|
+
- Gemfile
|
144
|
+
- Guardfile
|
145
|
+
- LICENSE
|
146
|
+
- README.md
|
147
|
+
- Rakefile
|
148
|
+
- guard-resque.gemspec
|
149
|
+
- lib/guard-resque.rb
|
150
|
+
- lib/guard/resque.rb
|
151
|
+
- lib/guard/resque/templates/Guardfile
|
152
|
+
- lib/guard/resque/version.rb
|
153
|
+
- spec/guard/resque_spec.rb
|
154
|
+
- spec/spec_helper.rb
|
155
|
+
homepage: http://github.com/rainforestapp/guard-resque
|
156
|
+
licenses: []
|
157
|
+
post_install_message:
|
158
|
+
rdoc_options: []
|
159
|
+
require_paths:
|
160
|
+
- lib
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
162
|
+
none: false
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
168
|
+
none: false
|
169
|
+
requirements:
|
170
|
+
- - ! '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: 1.3.6
|
173
|
+
requirements: []
|
174
|
+
rubyforge_project:
|
175
|
+
rubygems_version: 1.8.24
|
176
|
+
signing_key:
|
177
|
+
specification_version: 3
|
178
|
+
summary: guard gem for resque
|
179
|
+
test_files:
|
180
|
+
- spec/guard/resque_spec.rb
|
181
|
+
- spec/spec_helper.rb
|
182
|
+
has_rdoc:
|