rerun 0.1 → 0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +3 -3
- data/README.md +62 -0
- data/bin/rerun +3 -1
- data/rerun.gemspec +5 -5
- metadata +5 -5
- data/README +0 -21
data/LICENSE
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
rerun
|
2
|
-
Copyright (c) 2009 Alex Chaffee <
|
2
|
+
Copyright (c) 2009 Alex Chaffee <alex@stinky.com>
|
3
3
|
|
4
4
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5
5
|
of this software and associated documentation files (the "Software"), to
|
@@ -20,10 +20,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
20
20
|
|
21
21
|
---
|
22
22
|
|
23
|
-
rerun
|
23
|
+
rerun partially based on code from Rspactor
|
24
24
|
[insert license]
|
25
25
|
|
26
|
-
rerun
|
26
|
+
rerun partially based on code from FileSystemWatcher
|
27
27
|
http://paulhorman.com/filesystemwatcher/
|
28
28
|
[insert license]
|
29
29
|
|
data/README.md
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
# Rerun
|
2
|
+
|
3
|
+
<http://github.com/alexch/rerun>
|
4
|
+
|
5
|
+
Launches your app, then watches the filesystem. If a relevant file
|
6
|
+
changes, then it restarts your app.
|
7
|
+
|
8
|
+
Currently only *.rb files are watched, anywhere under the current
|
9
|
+
directory (.). This is pretty lame so it will change soon.
|
10
|
+
|
11
|
+
If you're on Mac OS X, it uses the built-in facilities for monitoring
|
12
|
+
the filesystem, so CPU use is very light.
|
13
|
+
|
14
|
+
If you have "growlcmd" available on the PATH, it sends notifications to
|
15
|
+
growl in addition to the console.
|
16
|
+
|
17
|
+
# Usage:
|
18
|
+
|
19
|
+
rerun [options] cmd
|
20
|
+
|
21
|
+
# Options:
|
22
|
+
|
23
|
+
Only --version and --help so far.
|
24
|
+
|
25
|
+
# To Do:
|
26
|
+
|
27
|
+
* Allow arbitrary sets of directories and file types, possibly with "include" and "exclude" sets
|
28
|
+
* ".rerun" file to specify options per project or in $HOME.
|
29
|
+
* Test on Windows and Linux.
|
30
|
+
|
31
|
+
# Other projects that do similar things
|
32
|
+
|
33
|
+
Restartomatic: <http://github.com/adammck/restartomatic>
|
34
|
+
|
35
|
+
Shotgun: <http://github.com/rtomayko/shotgun>
|
36
|
+
|
37
|
+
# Why would I use this instead of Shotgun?
|
38
|
+
|
39
|
+
Shotgun does a "fork" after the web framework has loaded but before your application is
|
40
|
+
loaded. It then loads your app, processes a single request in the child process, then exits the child process.
|
41
|
+
|
42
|
+
Rerun launches the whole app, then when it's time to restart, uses "kill" to shut it
|
43
|
+
down and starts the whole thing up again from scratch.
|
44
|
+
|
45
|
+
So rerun takes somewhat longer than Shotgun to restart the app, but does it much less
|
46
|
+
frequently. And once it's running it behaves more normally and consistently with your
|
47
|
+
production app.
|
48
|
+
|
49
|
+
Also, Shotgun reloads the app on every request, even if it doesn't need to. This is
|
50
|
+
fine if you're loading a single file, but my web pages all load other files (CSS, JS,
|
51
|
+
media) and that adds up quickly. The developers of shotgun are probably using caching
|
52
|
+
or a front web server so this doesn't affect them too much.
|
53
|
+
|
54
|
+
YMMV!
|
55
|
+
|
56
|
+
# Contact
|
57
|
+
|
58
|
+
Alex Chaffee, <mailto:alex@stinky.com>, <http://github.com/alexch/>
|
59
|
+
|
60
|
+
# License
|
61
|
+
|
62
|
+
Open Source MIT License. See "LICENSE" file.
|
data/bin/rerun
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
require 'rubygems'
|
4
4
|
|
5
5
|
libdir = "#{File.expand_path(File.dirname(File.dirname(__FILE__)))}/lib"
|
6
|
-
puts "adding #{libdir}"
|
7
6
|
$LOAD_PATH.unshift libdir unless $LOAD_PATH.include?(libdir)
|
8
7
|
|
9
8
|
load 'rerun.gemspec' # defines "$spec" variable
|
@@ -15,6 +14,9 @@ options = {}
|
|
15
14
|
opts = OptionParser.new("", 24, ' ') { |opts|
|
16
15
|
opts.banner = "Usage: rerun cmd"
|
17
16
|
|
17
|
+
opts.separator ""
|
18
|
+
opts.separator "Launches an app, and restarts it when the filesystem changes."
|
19
|
+
opts.separator "See http://github.com/alexch/rerun for more info."
|
18
20
|
opts.separator ""
|
19
21
|
opts.separator "Options:"
|
20
22
|
|
data/rerun.gemspec
CHANGED
@@ -3,17 +3,17 @@ $spec = Gem::Specification.new do |s|
|
|
3
3
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
4
4
|
|
5
5
|
s.name = 'rerun'
|
6
|
-
s.version = '0.
|
7
|
-
s.date = '2009-06-
|
6
|
+
s.version = '0.2'
|
7
|
+
s.date = '2009-06-15'
|
8
8
|
|
9
9
|
s.description = "Restarts your app when a file changes"
|
10
|
-
s.summary =
|
10
|
+
s.summary = "Launches an app, and restarts it whenever the filesystem changes."
|
11
11
|
|
12
12
|
s.authors = ["Alex Chaffee"]
|
13
13
|
s.email = "alex@stinky.com"
|
14
14
|
|
15
15
|
s.files = %w[
|
16
|
-
README
|
16
|
+
README.md
|
17
17
|
LICENSE
|
18
18
|
Rakefile
|
19
19
|
rerun.gemspec
|
@@ -27,7 +27,7 @@ $spec = Gem::Specification.new do |s|
|
|
27
27
|
s.executables = ['rerun']
|
28
28
|
s.test_files = s.files.select {|path| path =~ /^spec\/.*_spec.rb/}
|
29
29
|
|
30
|
-
s.extra_rdoc_files = %w[README]
|
30
|
+
s.extra_rdoc_files = %w[README.md]
|
31
31
|
#s.add_dependency 'rack', '>= 0.9.1'
|
32
32
|
#s.add_dependency 'launchy', '>= 0.3.3', '< 1.0'
|
33
33
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rerun
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: "0.
|
4
|
+
version: "0.2"
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex Chaffee
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-15 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -20,9 +20,9 @@ executables:
|
|
20
20
|
extensions: []
|
21
21
|
|
22
22
|
extra_rdoc_files:
|
23
|
-
- README
|
23
|
+
- README.md
|
24
24
|
files:
|
25
|
-
- README
|
25
|
+
- README.md
|
26
26
|
- LICENSE
|
27
27
|
- Rakefile
|
28
28
|
- rerun.gemspec
|
@@ -59,6 +59,6 @@ rubyforge_project:
|
|
59
59
|
rubygems_version: 1.3.3
|
60
60
|
signing_key:
|
61
61
|
specification_version: 2
|
62
|
-
summary:
|
62
|
+
summary: Launches an app, and restarts it whenever the filesystem changes.
|
63
63
|
test_files: []
|
64
64
|
|
data/README
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
Rerun
|
2
|
-
|
3
|
-
# Usage
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
# Other projects that do similar things
|
8
|
-
|
9
|
-
Restartomatic
|
10
|
-
http://github.com/adammck/restartomatic
|
11
|
-
|
12
|
-
Shotgun
|
13
|
-
http://github.com/rtomayko/shotgun
|
14
|
-
|
15
|
-
|
16
|
-
# Todo
|
17
|
-
|
18
|
-
.rerun config file
|
19
|
-
include/exclude dirs
|
20
|
-
include/exclude patterns
|
21
|
-
|