staticme 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d051eed734b566be6c2d086913e8c92866e7db57
4
- data.tar.gz: 9bbdc61c67b0db02b7e12bd494f0c446a8751dde
3
+ metadata.gz: ad4451d44b452cfcc8e068963f3bd83ac6337233
4
+ data.tar.gz: 91dbeca335d139d2494f57094350ac2c3f501979
5
5
  SHA512:
6
- metadata.gz: 8d71b11562c1cc46e9bde1a5b13b815c72f06a85919bc585219a20069c1f1dd93d4c6ae061e5bfcdcbbe7c3b1372ec04e9343a71aff710003486517bd3b58168
7
- data.tar.gz: f9a45456d0e19dba2d2d80b35b7020542eae609dff94f330bf96e5bf9f5753d62e4319f2031f3476ae427cb5af40e1ac029c78ac370baff7c3a6e4f50da547aa
6
+ metadata.gz: 376b9449dd0932be4d496e9a590c8c9a105c15745375ae4290f583a11076ebfe90fa9b62961ef34f07b8b4d15b8f78a2139c7278c7716547f4c1481f0a0999cc
7
+ data.tar.gz: 11a6609391707c6094c0069374f26dc2ed8260dd389fb6c7e2f6bd561440dea90b1442eca30d836f9feda730922e2ec37a70d71440c0a22ff3c9b12c38b8eeb6
data/README.md CHANGED
@@ -4,6 +4,24 @@
4
4
 
5
5
  StaticMe is simple server for serving static content built on top of [thin](http://code.macournoyer.com/thin/).
6
6
 
7
+ ## News
8
+
9
+ #### Version 0.4.0 has been released
10
+
11
+ The new version fixes the incompatibilities with ::Rack::File in new rack 1.6.4.
12
+
13
+ #### Version 0.3.0 has been released
14
+
15
+ This version introduces an automatic webpage reload functionality.
16
+
17
+ Staticme serves path `/staticme/autoreload.js` as a script src to provide the autoreload functionality.
18
+
19
+ Simply add a script tag to the bottom of any webpage:
20
+
21
+ <script type="text/javascript" src="/staticme/autoreload.js"></script>
22
+
23
+ Staticme will handle all fs evenes in the directory and broadcast 'em with "fs_event" through the websocket transport.
24
+
7
25
  ## Installation
8
26
 
9
27
  ```
@@ -14,10 +32,11 @@ gem install staticme
14
32
 
15
33
  ### Options:
16
34
 
17
- * -f, --path: path to be served in, current if omitted
18
- * -p, --port: port to bind, 8080 by default
19
- * -h, --host: host to start up, 0.0.0.0 by default
20
- * -i, --index: index file name, index.html by default
35
+ * -f, --path: path to be served in, current if omitted
36
+ * -p, --port: port to bind, 8080 by default
37
+ * -h, --host: host to start up, 0.0.0.0 by default
38
+ * -i, --index: index file name, index.html by default
39
+ * -ws, --ws_port: websocket port, 8090 by default. Available since 0.3.0
21
40
 
22
41
  ### Starting up
23
42
 
@@ -0,0 +1,31 @@
1
+ require 'rack/file'
2
+
3
+ module Rack
4
+ class IndexFile < File
5
+
6
+ F = ::File
7
+
8
+ def initialize(root, headers={}, default_mime = 'text/plain')
9
+ @path = root
10
+ end
11
+
12
+ def _call(env)
13
+ unless ALLOWED_VERBS.include? env[REQUEST_METHOD]
14
+ return fail(405, "Method Not Allowed", {'Allow' => ALLOW_HEADER})
15
+ end
16
+
17
+ available = begin
18
+ F.file?(@path) && F.readable?(@path)
19
+ rescue SystemCallError
20
+ false
21
+ end
22
+
23
+ if available
24
+ serving(env)
25
+ else
26
+ fail(404, "File not found: #{path_info}")
27
+ end
28
+ end
29
+ end
30
+ end
31
+
@@ -64,4 +64,4 @@ module Rack
64
64
 
65
65
  end
66
66
 
67
- end
67
+ end
@@ -1,4 +1,5 @@
1
1
  require 'rack/staticme_builder'
2
+ require 'rack/index_file'
2
3
 
3
4
  module Staticme
4
5
 
@@ -28,7 +29,7 @@ module Staticme
28
29
 
29
30
  if !index.nil? && File.exists?( File.join( path, index ) )
30
31
  map /^\/$/ do
31
- run Rack::File.new( File.join( path, index ) )
32
+ run Rack::IndexFile.new( File.join( path, index ) )
32
33
  end
33
34
  end
34
35
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: staticme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - 4pcbr
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-21 00:00:00.000000000 Z
11
+ date: 2015-10-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: thin
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 1.6.3
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 1.6.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: em-websocket
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rack
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: 1.6.4
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: 1.6.4
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: shoulda
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -122,8 +136,8 @@ dependencies:
122
136
  - - ~>
123
137
  - !ruby/object:Gem::Version
124
138
  version: 2.0.1
125
- description: Staticme allows you to run tiny webserver just in any folder you like
126
- to serve your static files
139
+ description: Staticme is a very easy-to-use webserver built on top of Thin and Rack
140
+ to serve static files in a directory provided as the webroot
127
141
  email: me@whitebox.io
128
142
  executables:
129
143
  - staticme
@@ -132,6 +146,7 @@ extra_rdoc_files:
132
146
  - LICENSE.txt
133
147
  - README.md
134
148
  files:
149
+ - lib/rack/index_file.rb
135
150
  - lib/rack/staticme_builder.rb
136
151
  - lib/rack/staticme_urlmap.rb
137
152
  - lib/staticme.rb
@@ -170,5 +185,5 @@ rubyforge_project:
170
185
  rubygems_version: 2.0.6
171
186
  signing_key:
172
187
  specification_version: 4
173
- summary: Simple Thin-based static web server
188
+ summary: A dummy web server to serve static content
174
189
  test_files: []