rainforest-guard-resque 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,6 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
5
+ .rvmrc
6
+ .rbx
@@ -0,0 +1,2 @@
1
+ rvm:
2
+ - 1.9.3
@@ -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
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in guard-resque.gemspec
4
+ gemspec
@@ -0,0 +1,10 @@
1
+ guard 'bundler' do
2
+ watch(/^Gemfile/)
3
+ watch(/^.+\.gemspec/)
4
+ end
5
+
6
+ guard 'rspec', :version => 2 do
7
+ watch(/^spec\/.*_spec\.rb/)
8
+ watch(/^lib\/(.*)\.rb/) { |m| "spec/#{m[1]}_spec.rb" }
9
+ watch(/^spec\/spec_helper\.rb/) { "spec" }
10
+ end
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.
@@ -0,0 +1,115 @@
1
+ [![Build Status](https://travis-ci.org/rainforestapp/guard-resque.png?branch=master)](https://travis-ci.org/rainforestapp/guard-resque)
2
+
3
+ [![Dependency Status](https://gemnasium.com/rainforestapp/guard-resque.png)](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.
@@ -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
@@ -0,0 +1 @@
1
+ require 'guard/resque'
@@ -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,5 @@
1
+ module Guard
2
+ module ResqueVersion
3
+ VERSION = "0.0.6"
4
+ end
5
+ 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
@@ -0,0 +1,10 @@
1
+ require 'rspec'
2
+ require 'guard/resque'
3
+
4
+ ENV['GUARD_ENV'] = 'test'
5
+
6
+ RSpec.configure do |config|
7
+ config.color_enabled = true
8
+ config.filter_run :focus => true
9
+ config.run_all_when_everything_filtered = true
10
+ end
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: