staticme 0.3.0 → 0.4.0

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.
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: []