heel 3.0.1 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MTBjMTliZGUxNDc1MDgwMWUwNjE2NzNmN2E3ODMxNjc3MmQzYTYzOQ==
5
+ data.tar.gz: !binary |-
6
+ YjIwMjA5ZjU5MWY2YWQzZmNhNzYzOTVhZjY0YjE1ODBiOTQyMTgxMg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ YmEwMDIwNWJlNDIyMGM4MDIwYjllNTI1MTMxNjc1ZWJjMjkxYjM0OGJlM2Fm
10
+ NjhmOTkxYzZlMTg2MWE2YzMxZWI3YmExMWFkMjI0ZjFlYjRhNjczZDM2YmVi
11
+ NGJjYzQzNGNkOGY1YzkwMDQ2ZDk3OGEzMmRjODM0ODFmOWRhOWI=
12
+ data.tar.gz: !binary |-
13
+ ZGEyYmQ2NTk1YzgyZmY2MWZlN2U4OTY2OTNjYzQ5YWQ5ZWZjNGQ4MmY4ODQw
14
+ ZTFmMjI2OTczNDNkNjlhNWE3ZDVlZmUyYTNiYTU4NzRkNWFiMjk0NWE0ZDIx
15
+ MDczNTAyMjQ0YjJmY2I4ZTBkYjkxNzBjYzM4MGU4YzZjMDg3YTg=
@@ -1,5 +1,12 @@
1
- = Changelog
2
- == Version 3.0.1 - 2013-02-06
1
+ # Changelog
2
+ ## Version 3.0.2 - 2013-03-13
3
+
4
+ * Fix generated pages to say they are utf-8 [#4]
5
+ * Fix formatting of usage section of documentation
6
+ * Update dependencies
7
+ * Convert to RDoc 4.0
8
+
9
+ ## Version 3.0.1 - 2013-02-06
3
10
 
4
11
  * Switch to using puma for the webserver
5
12
  * Switch to using simplecov for coverage testing
@@ -7,85 +14,85 @@
7
14
  * Update to fixme project template
8
15
  * Convert to minitest
9
16
 
10
- == Version 2.1.0 - 2011-03-17
17
+ ## Version 2.1.0 - 2011-03-17
11
18
 
12
19
  * Update to Launchy 1.0.0
13
20
  * Update to Thin 1.2.8
14
21
 
15
- == Version 2.0.0 - 2009-06-24
22
+ ## Version 2.0.0 - 2009-06-24
16
23
 
17
24
  * Change highlighting mode default to 'off' instead of 'on'
18
25
  * Update for Thin 1.2.2
19
26
 
20
- == Version 1.0.3 - 2009-03-02
27
+ ## Version 1.0.3 - 2009-03-02
21
28
 
22
29
  * Update for MIME::Types 1.16
23
30
 
24
- == Version 1.0.2 - 2008-12-03
31
+ ## Version 1.0.2 - 2008-12-03
25
32
 
26
33
  * Fix FileType namespace issue (thanks defunkt) and new version of coderay
27
34
  * various task maintenance
28
35
  * updated version dependencies
29
36
 
30
- == Version 1.0.1 - 2008-04-24
37
+ ## Version 1.0.1 - 2008-04-24
31
38
 
32
39
  * Fix performance issue in serving large files
33
40
  * Fix performance issue in checking for coderay file type when coderay would not be used.
34
41
 
35
- == Version 1.0.0 - 2008-04-20
42
+ ## Version 1.0.0 - 2008-04-20
36
43
 
37
44
  * Convert Heel to a Rack and Thin application
38
45
 
39
- == Version 0.6.0 - 2007-11-21
46
+ ## Version 0.6.0 - 2007-11-21
40
47
 
41
48
  * Fixed bug where an exception was thrown if a 0 byte file was served.
42
49
  * Changed change 'resources' directory to 'data'
43
50
  * Renamed internal constants
44
51
  * Changed operating URL's to avoid conflict with directories heel may be serving
45
52
 
46
- == Version 0.5.0 - 2007-11-19
53
+ ## Version 0.5.0 - 2007-11-19
47
54
 
48
55
  * Add in code highlighting support via coderay
49
56
  * extract CSS files to a resource
50
57
  * increase test coverage
51
58
 
52
- == Version 0.4.1 - 2007-11-15
59
+ ## Version 0.4.1 - 2007-11-15
53
60
 
54
61
  * Fix bug [#15645] - not starting up on windows
55
62
 
56
- == Version 0.4.0 - 2007-11-04
63
+ ## Version 0.4.0 - 2007-11-04
57
64
 
58
65
  * Added common log format output to terminal or logfile as appropriate.
59
66
 
60
- == Version 0.3.2 - 2007-08-30
67
+ ## Version 0.3.2 - 2007-08-30
61
68
 
62
69
  * fix failure to find background option
63
70
  * remember to double check your tests before releasing
64
71
 
65
- == Version 0.3.1 - 2007-08-30
72
+ ## Version 0.3.1 - 2007-08-30
66
73
 
67
74
  * fix failure to find pid file [Bug #13530]
68
75
  * remember to stop releasing software in the wee hours of the morning
69
76
 
70
- == Version 0.3.0 - 2007-08-30
77
+ ## Version 0.3.0 - 2007-08-30
71
78
 
72
79
  * update with Launchy requirement 0.3.0
73
80
  * remove unneeded famfamfam icons
74
81
  * change default listening address to 127.0.0.1
75
82
  * refactored handler test, now with more coverage
76
83
 
77
- == Version 0.2.0 - 2007-08-11
84
+ ## Version 0.2.0 - 2007-08-11
78
85
 
79
86
  * Initial public release
80
87
  * Added daemonizing of server
81
88
  * Added launching of browser to server URL
82
89
 
83
- == Version 0.1.0
90
+ ## Version 0.1.0
84
91
 
85
92
  * rename project to 'heel'
86
93
  * gem packaging
87
94
 
88
- == Version 0.0.1 - 2007-05-03
95
+ ## Version 0.0.1 - 2007-05-03
89
96
 
90
97
  * initial development release
91
98
 
@@ -1,10 +1,9 @@
1
1
  CONTRIBUTING.md
2
- HISTORY.rdoc
2
+ HISTORY.md
3
3
  LICENSE
4
4
  Manifest.txt
5
- README.rdoc
5
+ README.md
6
6
  Rakefile
7
- TODO
8
7
  bin/heel
9
8
  data/css/coderay-alpha.css
10
9
  data/css/coderay-cycnus.css
@@ -0,0 +1,117 @@
1
+ ## Heel
2
+
3
+ * [Homepage](http://github.com/copiousfreetime/heel/)
4
+ * [GitHub](http://github.com/copiousfreetime/heel/)
5
+ * email jeremy at hinegardner dot org
6
+ * `git clone git://github.com/copiousfreetime/heel.git`
7
+
8
+ ## DESCRIPTION
9
+
10
+ Heel is a small static web server for use when you need a quick web server for a
11
+ directory. Once the server is running, heel will use
12
+ [launchy](http://rubygems.org/gems/launchy/) to open your browser at
13
+ the URL of your document root.
14
+
15
+ Heel is built using [Rack](http://rack.github.com) and
16
+ [Puma](http://puma.io)
17
+
18
+ % heel
19
+ Launching your browser...
20
+ Puma 1.6.3 starting...
21
+ * Min threads: 0, max threads: 16
22
+ * Environment: deployment
23
+ * Listening on tcp://0.0.0.0:4331
24
+
25
+ Or run it in the background
26
+
27
+ % heel --daemonize
28
+ Launching your browser at http://0.0.0.0:4331/
29
+
30
+ % heel --kill
31
+ Sending TERM to process 3304
32
+ Done.
33
+
34
+ ## FEATURES
35
+
36
+ * Automatic launching of your browser to the URL it is serving with [launchy](http://github.com/copiousfreetime/launchy/)
37
+ * Automatic syntax highlighting of source code files with [coderay](http://coderay.rubychan.de/)
38
+ * Run in the foreground or daemonized
39
+ * Bind to any address and port (default is 0.0.0.0:4331)
40
+
41
+ ## SYNOPSIS:
42
+
43
+ Usage: heel [options]
44
+
45
+ -a, --address ADDRESS Address to bind to
46
+ (default: 0.0.0.0)
47
+ -d, --daemonize Run daemonized in the background
48
+ -h, --help Display this text
49
+ -k, --kill Kill an existing daemonized heel process
50
+ --[no-]highlighting Turn on or off syntax highlighting
51
+ (default: off)
52
+ --[no-]launch-browser Turn on or off automatic browser launch
53
+ (default: on)
54
+ -p, --port PORT Port to bind to
55
+ (default: 4331)
56
+ -r, --root ROOT Set the document root
57
+ (default: <current working directory>)
58
+ -v, --version Show version
59
+
60
+ ## REQUIREMENTS:
61
+
62
+ ### For running:
63
+
64
+ * [coderay](http://coderay.rubychan.de/)
65
+ * [launchy](http://copiousfreetime.rubyforge.org/launchy/) >= 0.1.1
66
+ * [mime-types](http://mime-types.rubyforge.org/)
67
+ * [puma](http://puma.io)
68
+
69
+ ### For development:
70
+
71
+ * [minitest](http://rubygems.org/gems/minitest)
72
+ * [rake](http://rubygems.org/gems/rake)
73
+ * [rdoc](http://rubygems.org/gems/rdoc)
74
+
75
+ ## INSTALL:
76
+
77
+ * `gem install heel`
78
+
79
+ ## CREDITS:
80
+
81
+ * [puma](http://puma.io)
82
+ * [Rack](http://rack.rubyforge.org/)
83
+ * http://www.famfamfam.com/ for amazing icons
84
+
85
+ ## BSD LICENSE:
86
+
87
+ Copyright (c) 2007 - 2013, Jeremy Hinegardner
88
+
89
+ All rights reserved.
90
+
91
+ Redistribution and use in source and binary forms, with or without
92
+ modification, are permitted provided that the following conditions are met:
93
+
94
+ * Redistributions of source code must retain the above copyright notice,
95
+ this list of conditions and the following disclaimer.
96
+
97
+ * Redistributions in binary form must reproduce the above copyright notice,
98
+ this list of conditions and the following disclaimer in the
99
+ documentation and/or other materials provided with the
100
+ distribution.
101
+
102
+ * Neither the name of Jeremy Hinegardner nor the
103
+ names of its contributors may be used to endorse or promote
104
+ products derived from this software without specific prior written
105
+ permission.
106
+
107
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
108
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
109
+ TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
110
+ PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
111
+ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
112
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
113
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
114
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
115
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
116
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
117
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/Rakefile CHANGED
@@ -15,6 +15,8 @@ This.ruby_gemspec do |spec|
15
15
  spec.add_development_dependency( 'rake' , '~> 10.0.3')
16
16
  spec.add_development_dependency( 'minitest' , '~> 4.5.0' )
17
17
  spec.add_development_dependency( 'rdoc' , '~> 3.12' )
18
+
19
+ spec.license = "BSD"
18
20
  end
19
21
 
20
22
  load 'tasks/default.rake'
@@ -1,29 +1,29 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
- <head>
5
- <title>Error <%= status %> </title>
6
- <link rel="stylesheet" href="/heel_css/error.css" type="text/css" />
7
- </head>
8
- <body>
9
- <div class="wrap">
10
- <div class="header">
11
- Requested URL: <%= base_uri %>
12
- </div>
13
- <div class="curved">
14
- <b class="c1"></b><b class="c2"></b><b class="c3"></b><b class="c4"></b>
15
- <div class="box">
16
- <div class="content">
17
- <img src="/heel_icons/error.png"><h1>Error <%= status %></h1>
18
- <br />
19
- <h2><%= message %></h2>
20
- </div>
21
- </div>
22
- <b class="c4"></b><b class="c3"></b><b class="c2"></b><b class="c1"></b>
23
- </div>
24
- <div class="footer">
25
- <a href="<%= homepage %>">heel</a>/v<%= ::Heel::VERSION %>
26
- </div>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>Error <%= status %> </title>
5
+ <meta charset="utf-8">
6
+ <link rel="stylesheet" href="/heel_css/error.css" type="text/css" />
7
+ </head>
8
+ <body>
9
+ <div class="wrap">
10
+ <div class="header">
11
+ Requested URL: <%= base_uri %>
12
+ </div>
13
+ <div class="curved">
14
+ <b class="c1"></b><b class="c2"></b><b class="c3"></b><b class="c4"></b>
15
+ <div class="box">
16
+ <div class="content">
17
+ <img src="/heel_icons/error.png" alt=""/><h1>Error <%= status %></h1>
18
+ <br />
19
+ <h2><%= message %></h2>
20
+ </div>
27
21
  </div>
28
- </body>
22
+ <b class="c4"></b><b class="c3"></b><b class="c2"></b><b class="c1"></b>
23
+ </div>
24
+ <div class="footer">
25
+ <a href="<%= homepage %>">heel</a>/v<%= ::Heel::VERSION %>
26
+ </div>
27
+ </div>
28
+ </body>
29
29
  </html>
@@ -1,41 +1,42 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
- <head>
5
- <title>Index of <%= base_uri %></title>
6
- <link rel="stylesheet" href="/heel_css/listing.css" type="text/css" />
7
- </head>
8
- <body>
9
- <div class="header">
10
- <h1>Index of <%= base_uri %></h1>
11
- </div>
12
- <div class="content">
13
- <table summary="Directory Listing">
14
- <thead>
15
- <tr><th class="n">File Name</th><th class="l" >Last Modified Timestamp</th><th class="m">File Size</th><th class="t">File Type</th></tr>
16
- </thead>
17
- <tbody>
18
- <% entries.each_with_index do |entry,i| %>
19
- <tr<%= i % 2 > 0 ? ' class="odd" ' : '' %>>
20
- <td>
21
- <% if entry.icon_url then %>
22
- <img src="<%= entry.icon_url %>" width="16" height="16" alt="icon for type <%= entry.content_type %>" />
23
- <% end %>
24
- <a href="<%= "#{base_uri.chomp('/')}/#{entry.link}" %>"><%= entry.name %></a>
25
- <% if highlighting? and entry.content_type != 'Directory' then %>
26
- (<a href="<%= "#{base_uri.chomp('/')}/#{entry.link}?highlighting=false" %>">download</a>)
27
- <% end %>
28
- </td>
29
- <td><%= entry.last_modified %></td>
30
- <td class="<%= entry.content_type == "Directory" ? 'c' : 'n' %>" ><%= entry.size %></td>
31
- <td><%= entry.content_type %></td>
32
- </tr>
33
- <% end %>
34
- </tbody>
35
- </table>
36
- </div>
37
- <div class="footer">
38
- <a href="http://copiousfreetime.rubyforge.org/heel/">heel</a>/v<%= Heel::VERSION %>
39
- </div>
40
- </body>
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <title>Index of <%= base_uri %></title>
5
+ <meta charset="utf-8">
6
+ <link rel="stylesheet" href="/heel_css/listing.css" type="text/css" />
7
+ </head>
8
+ <body>
9
+ <div class="header">
10
+ <h1>Index of <%= base_uri %></h1>
11
+ </div>
12
+ <div class="content">
13
+ <table>
14
+ <caption>Directory Listing</caption>
15
+ <thead>
16
+ <tr><th class="n">File Name</th><th class="l" >Last Modified Timestamp</th><th class="m">File Size</th><th class="t">File Type</th></tr>
17
+ </thead>
18
+ <tbody>
19
+ <% entries.each_with_index do |entry,i| %>
20
+ <tr<%= i % 2 > 0 ? ' class="odd" ' : '' %>>
21
+ <td>
22
+ <% if entry.icon_url then %>
23
+ <img src="<%= entry.icon_url %>" width="16" height="16" alt="icon for type <%= entry.content_type %>" />
24
+ <% end %>
25
+ <a href="<%= "#{base_uri.chomp('/')}/#{entry.link}" %>"><%= entry.name %></a>
26
+ <% if highlighting? and entry.content_type != 'Directory' then %>
27
+ (<a href="<%= "#{base_uri.chomp('/')}/#{entry.link}?highlighting=false" %>">download</a>)
28
+ <% end %>
29
+ </td>
30
+ <td><%= entry.last_modified %></td>
31
+ <td class="<%= entry.content_type == "Directory" ? 'c' : 'n' %>" ><%= entry.size %></td>
32
+ <td><%= entry.content_type %></td>
33
+ </tr>
34
+ <% end %>
35
+ </tbody>
36
+ </table>
37
+ </div>
38
+ <div class="footer">
39
+ <a href="http://copiousfreetime.rubyforge.org/heel/">heel</a>/v<%= Heel::VERSION %>
40
+ </div>
41
+ </body>
41
42
  </html>
@@ -4,7 +4,7 @@
4
4
  #++
5
5
 
6
6
  module Heel
7
- VERSION = '3.0.1'
7
+ VERSION = '3.0.2'
8
8
  end
9
9
 
10
10
  require 'heel/configuration'
@@ -51,7 +51,7 @@ module Heel
51
51
  self.sub_path("lib", *args)
52
52
  end
53
53
 
54
- HOMEPAGE = "http://copiousfreetime.rubyforge.org/heel/"
54
+ HOMEPAGE = "http://github.com/copiousfreetime/heel/"
55
55
 
56
56
  private
57
57
  def self.sub_path(sub,*args)
@@ -28,7 +28,7 @@ module Heel
28
28
 
29
29
  def initialize(base_uri, body, status = 404, header = {})
30
30
  header = header.merge( "Content-Type" => 'text/html' )
31
- @response = Rack::Response.new( body, status, header )
31
+ @response = Rack::Response.new('', status, header )
32
32
  @base_uri = base_uri
33
33
  end
34
34
 
@@ -42,7 +42,7 @@ module Heel
42
42
  ["images/svg+xml", ["svg"]],
43
43
  ["video/x-flv", ["flv"]],
44
44
  ["application/x-shockwave-flash", ["swf"]],
45
- ["text/plain", ["rb", "rhtml"]],
45
+ ["text/plain", ["rb", "rhtml", "md", "markdown"]],
46
46
  ]
47
47
  end
48
48
  end
@@ -254,29 +254,6 @@ module Heel
254
254
  return server_thread
255
255
  end
256
256
 
257
- def start_server_old
258
- server = Rack::Server.new( server_options )
259
- server_thread = Thread.new do
260
- if options.daemonize then
261
- if cpid = fork then
262
- # wait for the server to span and then move on to launching the
263
- # browser
264
- Process.waitpid( cpid )
265
- else
266
- server.start
267
- end
268
- else
269
- begin
270
- server.start
271
- rescue RuntimeError
272
- $stderr.puts "ERROR: Unable to start server. Heel may already be running. Please check running processes or run `heel --kill'"
273
- exit 1
274
- end
275
- end
276
- end
277
- return server_thread
278
- end
279
-
280
257
  def server_options
281
258
  {
282
259
  :app => heel_app,
@@ -56,6 +56,9 @@ begin
56
56
  t.libs = %w[ lib spec ]
57
57
  t.pattern = "spec/**/*_spec.rb"
58
58
  end
59
+
60
+ task :test_requirements
61
+ task :test => :test_requirements
59
62
  task :default => :test
60
63
  rescue LoadError
61
64
  This.task_warning( 'test' )
@@ -71,9 +74,10 @@ begin
71
74
  RDoc::Task.new do |t|
72
75
  t.markup = 'tomdoc'
73
76
  t.rdoc_dir = 'doc'
74
- t.main = 'README.rdoc'
77
+ t.main = 'README.md'
75
78
  t.title = "#{This.name} #{This.version}"
76
- t.rdoc_files.include( '*.rdoc', 'lib/**/*.rb' )
79
+ t.rdoc_files.include( FileList['*.{rdoc,md,txt}'], FileList['ext/**/*.c'],
80
+ FileList['lib/**/*.rb'] )
77
81
  end
78
82
  rescue LoadError => le
79
83
  This.task_warning( 'rdoc' )
@@ -146,18 +150,70 @@ end
146
150
  #------------------------------------------------------------------------------
147
151
  # Fixme - look for fixmes and report them
148
152
  #------------------------------------------------------------------------------
149
- desc "Look for fixmes and report them"
150
- task :fixme => 'manifest:check' do
151
- This.manifest.each do |file|
152
- next if file == __FILE__
153
- next unless file =~ %r/(txt|rb|md|rdoc|css|html|xml|css)\Z/
154
- puts "FIXME: Rename #{file}" if file =~ /fixme/i
155
- IO.readlines( file ).each_with_index do |line, idx|
156
- prefix = "FIXME: #{file}:#{idx+1}".ljust(42)
157
- puts "#{prefix} => #{line.strip}" if line =~ /fixme/i
153
+ namespace :fixme do
154
+ task :default => 'manifest:check' do
155
+ This.manifest.each do |file|
156
+ next if file == __FILE__
157
+ next unless file =~ %r/(txt|rb|md|rdoc|css|html|xml|css)\Z/
158
+ puts "FIXME: Rename #{file}" if file =~ /fixme/i
159
+ IO.readlines( file ).each_with_index do |line, idx|
160
+ prefix = "FIXME: #{file}:#{idx+1}".ljust(42)
161
+ puts "#{prefix} => #{line.strip}" if line =~ /fixme/i
162
+ end
163
+ end
164
+ end
165
+
166
+ def fixme_project_root
167
+ This.project_path( '../fixme' )
168
+ end
169
+
170
+ def fixme_project_path( subtree )
171
+ fixme_project_root.join( subtree )
172
+ end
173
+
174
+ def local_fixme_files
175
+ This.manifest.select { |p| p =~ %r|^tasks/| }
176
+ end
177
+
178
+ def outdated_fixme_files
179
+ local_fixme_files.reject do |local|
180
+ upstream = fixme_project_path( local )
181
+ Digest::SHA256.file( local ) == Digest::SHA256.file( upstream )
182
+ end
183
+ end
184
+
185
+ def fixme_up_to_date?
186
+ outdated_fixme_files.empty?
187
+ end
188
+
189
+ desc "See if the fixme tools are outdated"
190
+ task :outdated => :release_check do
191
+ if fixme_up_to_date? then
192
+ puts "Fixme files are up to date."
193
+ else
194
+ outdated_fixme_files.each do |f|
195
+ puts "#{f} is outdated"
196
+ end
197
+ end
198
+ end
199
+
200
+ desc "Update outdated fixme files"
201
+ task :update => :release_check do
202
+ if fixme_up_to_date? then
203
+ puts "Fixme files are already up to date."
204
+ else
205
+ puts "Updating fixme files:"
206
+ outdated_fixme_files.each do |local|
207
+ upstream = fixme_project_path( local )
208
+ puts " * #{local}"
209
+ FileUtils.cp( upstream, local )
210
+ end
211
+ puts "Use your git commands as appropriate."
158
212
  end
159
213
  end
160
214
  end
215
+ desc "Look for fixmes and report them"
216
+ task :fixme => "fixme:default"
161
217
 
162
218
  #------------------------------------------------------------------------------
163
219
  # Gem Specification
@@ -171,7 +227,10 @@ task :gemspec do
171
227
  end
172
228
 
173
229
  # the gemspec is also a dev artifact and should not be kept around.
174
- CLOBBER << This.gemspec_file
230
+ CLOBBER << This.gemspec_file.to_s
231
+
232
+ # .rbc files from ruby 2.0
233
+ CLOBBER << FileList["**/*.rbc"]
175
234
 
176
235
  # The standard gem packaging task, everyone has it.
177
236
  require 'rubygems/package_task'
@@ -25,7 +25,7 @@ class ThisProject
25
25
  #
26
26
  # Yields self
27
27
  def initialize(&block)
28
- @exclude_from_manifest = %r/tmp$|\.(git|DS_Store)|^(doc|coverage|pkg)|Gemfile*|\.gemspec$|\.swp$|\.jar|\.rvmrc$|~$/
28
+ @exclude_from_manifest = %r/\.(git|DS_Store)|^(doc|coverage|pkg|tmp)|Gemfile*|\.(gemspec|swp|jar|bundle|so|rvmrc)$|~$/
29
29
  @gemspecs = Hash.new
30
30
  yield self if block_given?
31
31
  end
@@ -54,7 +54,7 @@ class ThisProject
54
54
  #
55
55
  # Retuns the text of the section as an array of paragrphs.
56
56
  def section_of( file, section_name )
57
- re = /^=+ (.*)$/
57
+ re = /^[=#]+ (.*)$/
58
58
  sectional = project_path( file )
59
59
  parts = sectional.read.split( re )[1..-1]
60
60
  parts.map! { |p| p.strip }
@@ -77,8 +77,8 @@ class ThisProject
77
77
  # path - the relative path of the file from the project root
78
78
  #
79
79
  # Returns the Pathname of the file
80
- def project_path( relative_path )
81
- project_root.join( relative_path )
80
+ def project_path( *relative_path )
81
+ project_root.join( *relative_path )
82
82
  end
83
83
 
84
84
  # Internal: The absolute path of this file
@@ -110,9 +110,16 @@ class ThisProject
110
110
  manifest_file.readlines.map { |l| l.strip }
111
111
  end
112
112
 
113
+ # Internal: Return the files that define the extensions
114
+ #
115
+ # Returns an Array
116
+ def extension_conf_files
117
+ manifest.grep( /extconf.rb\Z/ )
118
+ end
119
+
113
120
  # Internal: Returns the gemspace associated with the current ruby platform
114
121
  def platform_gemspec
115
- gemspecs.fetch( platform, ruby_gemspec )
122
+ gemspecs[platform]
116
123
  end
117
124
 
118
125
  def core_gemspec
@@ -130,8 +137,8 @@ class ThisProject
130
137
  spec.executables = spec.files.grep(/^bin/) { |f| File.basename(f) }
131
138
  spec.test_files = spec.files.grep(/^spec/)
132
139
 
133
- spec.extra_rdoc_files += spec.files.grep(/(txt|rdoc)$/)
134
- spec.rdoc_options = [ "--main" , 'README.rdoc',
140
+ spec.extra_rdoc_files += spec.files.grep(/(txt|rdoc|md)$/)
141
+ spec.rdoc_options = [ "--main" , 'README.md',
135
142
  "--markup", "tomdoc" ]
136
143
  end
137
144
  end
@@ -180,7 +187,7 @@ class ThisProject
180
187
 
181
188
  # Internal: Return the DESCRIPTION section of the README.rdoc file
182
189
  def description_section
183
- section_of( 'README.rdoc', 'DESCRIPTION')
190
+ section_of( 'README.md', 'DESCRIPTION')
184
191
  end
185
192
 
186
193
  # Internal: Return the summary text from the README
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: heel
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
5
- prerelease:
4
+ version: 3.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jeremy Hinegardner
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-06 00:00:00.000000000 Z
11
+ date: 2013-03-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: puma
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
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
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: mime-types
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ~>
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
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
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: launchy
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
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
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: coderay
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,6 @@ dependencies:
70
62
  type: :runtime
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
@@ -78,7 +69,6 @@ dependencies:
78
69
  - !ruby/object:Gem::Dependency
79
70
  name: rake
80
71
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
72
  requirements:
83
73
  - - ~>
84
74
  - !ruby/object:Gem::Version
@@ -86,7 +76,6 @@ dependencies:
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
@@ -94,7 +83,6 @@ dependencies:
94
83
  - !ruby/object:Gem::Dependency
95
84
  name: minitest
96
85
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
86
  requirements:
99
87
  - - ~>
100
88
  - !ruby/object:Gem::Version
@@ -102,7 +90,6 @@ dependencies:
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
@@ -110,7 +97,6 @@ dependencies:
110
97
  - !ruby/object:Gem::Dependency
111
98
  name: rdoc
112
99
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
100
  requirements:
115
101
  - - ~>
116
102
  - !ruby/object:Gem::Version
@@ -118,35 +104,35 @@ dependencies:
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
110
  version: '3.12'
126
111
  description: ! 'Heel is a small static web server for use when you need a quick web
127
- server for a directory. Once the server is running, heel will use launchy to open
128
- your browser at the URL of your document root. Heel is built using Rack and Puma %
129
- heel Launching your browser... Puma 1.6.3 starting... * Min threads: 0, max
130
- threads: 16 * Environment: deployment * Listening on tcp://0.0.0.0:4331 Or run
131
- it in the background % heel --daemonize Launching your browser at http://0.0.0.0:4331/ %
132
- heel --kill Sending TERM to process 3304 Done.'
112
+ server for a directory. Once the server is running, heel will use (http://rubygems.org/gems/launchy/)
113
+ to open your browser at the URL of your document root. Heel is built using (http://rack.github.com)
114
+ and (http://puma.io) % heel Launching your browser... Puma 1.6.3 starting... *
115
+ Min threads: 0, max threads: 16 * Environment: deployment * Listening on
116
+ tcp://0.0.0.0:4331 Or run it in the background % heel --daemonize Launching
117
+ your browser at http://0.0.0.0:4331/ % heel --kill Sending TERM to process
118
+ 3304 Done.'
133
119
  email: jeremy@copiousfreetime.org
134
120
  executables:
135
121
  - heel
136
122
  extensions: []
137
123
  extra_rdoc_files:
138
- - HISTORY.rdoc
124
+ - CONTRIBUTING.md
125
+ - HISTORY.md
139
126
  - Manifest.txt
140
- - README.rdoc
127
+ - README.md
141
128
  - data/famfamfam/readme.txt
142
129
  files:
143
130
  - CONTRIBUTING.md
144
- - HISTORY.rdoc
131
+ - HISTORY.md
145
132
  - LICENSE
146
133
  - Manifest.txt
147
- - README.rdoc
134
+ - README.md
148
135
  - Rakefile
149
- - TODO
150
136
  - bin/heel
151
137
  - data/css/coderay-alpha.css
152
138
  - data/css/coderay-cycnus.css
@@ -186,34 +172,34 @@ files:
186
172
  - tasks/default.rake
187
173
  - tasks/this.rb
188
174
  homepage: http://github.com/copiousfreetime/heel
189
- licenses: []
175
+ licenses:
176
+ - BSD
177
+ metadata: {}
190
178
  post_install_message:
191
179
  rdoc_options:
192
180
  - --main
193
- - README.rdoc
181
+ - README.md
194
182
  - --markup
195
183
  - tomdoc
196
184
  require_paths:
197
185
  - lib
198
186
  required_ruby_version: !ruby/object:Gem::Requirement
199
- none: false
200
187
  requirements:
201
188
  - - ! '>='
202
189
  - !ruby/object:Gem::Version
203
190
  version: '0'
204
191
  required_rubygems_version: !ruby/object:Gem::Requirement
205
- none: false
206
192
  requirements:
207
193
  - - ! '>='
208
194
  - !ruby/object:Gem::Version
209
195
  version: '0'
210
196
  requirements: []
211
197
  rubyforge_project:
212
- rubygems_version: 1.8.24
198
+ rubygems_version: 2.0.3
213
199
  signing_key:
214
- specification_version: 3
200
+ specification_version: 4
215
201
  summary: Heel is a small static web server for use when you need a quick web server
216
- for a directory. Once the server is running, heel will use {launchy}[http://rubygems.org/gems/launchy/]
202
+ for a directory. Once the server is running, heel will use [launchy](http://rubygems.org/gems/launchy/)
217
203
  to open your browser at the URL of your document root.
218
204
  test_files:
219
205
  - spec/configuration_spec.rb
@@ -1,117 +0,0 @@
1
- == Heel
2
-
3
- * Homepage[http://github.com/copiousfreetime/heel/]
4
- * email jeremy at hinegardner dot org
5
- * git clone git://github.com/copiousfreetime/heel.git
6
-
7
- == DESCRIPTION
8
-
9
- Heel is a small static web server for use when you need a quick web server for a
10
- directory. Once the server is running, heel will use
11
- {launchy}[http://rubygems.org/gems/launchy/] to open your browser at
12
- the URL of your document root.
13
-
14
- Heel is built using {Rack}[http://rack.github.com] and
15
- {Puma}[http://puma.io]
16
-
17
- % heel
18
- Launching your browser...
19
- Puma 1.6.3 starting...
20
- * Min threads: 0, max threads: 16
21
- * Environment: deployment
22
- * Listening on tcp://0.0.0.0:4331
23
-
24
- Or run it in the background
25
-
26
- % heel --daemonize
27
- Launching your browser at http://0.0.0.0:4331/
28
-
29
- % heel --kill
30
- Sending TERM to process 3304
31
- Done.
32
-
33
- == FEATURES
34
-
35
- * Automatic launching of your browser to the URL it is serving with {launchy}[http://github.com/copiousfreetime/launchy/]
36
- * Automatic syntax highlighting of source code files with {coderay}[http://coderay.rubychan.de/]
37
- * Run in the foreground or daemonized
38
- * Bind to any address and port (default is 0.0.0.0:4331)
39
-
40
- == SYNOPSIS:
41
-
42
- Usage: heel [options]
43
-
44
- -a, --address ADDRESS Address to bind to
45
- (default: 0.0.0.0)
46
- -d, --daemonize Run daemonized in the background
47
- -h, --help Display this text
48
- -k, --kill Kill an existing daemonized heel process
49
- --[no-]highlighting Turn on or off syntax highlighting
50
- (default: off)
51
- --[no-]launch-browser Turn on or off automatic browser launch
52
- (default: on)
53
- -p, --port PORT Port to bind to
54
- (default: 4331)
55
- -r, --root ROOT Set the document root
56
- (default: current working directory)
57
- -v, --version Show version
58
-
59
-
60
- == REQUIREMENTS:
61
-
62
- === For running:
63
-
64
- * {coderay}[http://coderay.rubychan.de/]
65
- * {launchy}[http://copiousfreetime.rubyforge.org/launchy/] >= 0.1.1
66
- * {mime-types}[http://mime-types.rubyforge.org/]
67
- * {puma}[http://puma.io]
68
-
69
- === For development:
70
-
71
- * {minitest}[http://rubygems.org/gems/minitest]
72
- * {rake}[http://rubygems.org/gems/rake]
73
- * {rdoc}[http://rubygems.org/gems/rdoc]
74
-
75
- == INSTALL:
76
-
77
- * gem install heel
78
-
79
- == CREDITS:
80
-
81
- * {puma}[http://puma.io]
82
- * {Rack}[http://rack.rubyforge.org/]
83
- * http://www.famfamfam.com/ for amazing icons
84
-
85
- == BSD LICENSE:
86
-
87
- Copyright (c) 2007 - 2013, Jeremy Hinegardner
88
-
89
- All rights reserved.
90
-
91
- Redistribution and use in source and binary forms, with or without
92
- modification, are permitted provided that the following conditions are met:
93
-
94
- * Redistributions of source code must retain the above copyright notice,
95
- this list of conditions and the following disclaimer.
96
-
97
- * Redistributions in binary form must reproduce the above copyright notice,
98
- this list of conditions and the following disclaimer in the
99
- documentation and/or other materials provided with the
100
- distribution.
101
-
102
- * Neither the name of Jeremy Hinegardner nor the
103
- names of its contributors may be used to endorse or promote
104
- products derived from this software without specific prior written
105
- permission.
106
-
107
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
108
- IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
109
- TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
110
- PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
111
- OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
112
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
113
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
114
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
115
- LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
116
- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
117
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/TODO DELETED
@@ -1,2 +0,0 @@
1
- - See why jruby is not working correctly
2
- - Add HEAD support