jobim 0.4.4 → 0.4.5
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 +4 -4
- data/README.md +30 -6
- data/bin/jobim +1 -43
- data/lib/jobim/cli.rb +3 -1
- data/lib/jobim/server.rb +45 -0
- data/lib/jobim/version.rb +1 -1
- data/lib/jobim.rb +1 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 583fc59d720021c552913ef4bff99fced316b51c
|
4
|
+
data.tar.gz: c42dbaa32411b22f6a09534b0988f59aed73e4be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b5681660771b22617e3965186893c62686004d1832e189579a00b3c74868096ad59356450f290d7c53a7a987336f2abf07c943dd6a3ba51254cc4e6db94047a
|
7
|
+
data.tar.gz: a01e3ece983d2757ec7ba58259a2f924e7656839b62901e8053f7b4e3716a4d465e202c93f4d0a0379a7083ff7f593b1f360489d6910dab14573fd64e1c2b733
|
data/README.md
CHANGED
@@ -1,12 +1,15 @@
|
|
1
|
+
|
1
2
|
# Jobim
|
2
3
|
|
3
|
-
`jobim` is a
|
4
|
-
|
5
|
-
|
4
|
+
`jobim` is a light utility for generating a static HTTP server. This allows
|
5
|
+
for rapid website design and development without the hassle and security risk
|
6
|
+
of a full web-server installation. `jobim` leverages
|
7
|
+
[Thin](//github.com/macournoyer/thin/) and exposes a limited subset of the
|
8
|
+
`thin` executable command flags for your convenience.
|
6
9
|
|
7
10
|
## Installation
|
8
11
|
|
9
|
-
`jobim` is registered on [rubygems](//rubygems.org/gems/jobim) and is
|
12
|
+
`jobim` is registered on [rubygems](//rubygems.org/gems/jobim) and is
|
10
13
|
available anywhere good gems are sold.
|
11
14
|
|
12
15
|
``` shell
|
@@ -15,12 +18,33 @@ gem install jobim
|
|
15
18
|
|
16
19
|
## Usage
|
17
20
|
|
18
|
-
|
21
|
+
```
|
22
|
+
Usage: jobim [OPTION]... [DIRECTORY]
|
23
|
+
|
24
|
+
Specific options:
|
25
|
+
-a, --address HOST bind to HOST address (default: 0.0.0.0)
|
26
|
+
-d, --daemonize Run as a daemon process
|
27
|
+
-p, --port PORT use PORT (default: 5634)
|
28
|
+
-P, --prefix PATH Mount the app under PATH
|
29
|
+
-q, --quiet Silence all logging
|
30
|
+
|
31
|
+
General options:
|
32
|
+
-h, --help Display this help message.
|
33
|
+
--version Display the version number
|
34
|
+
|
35
|
+
Jobim home page: <https://github.com/zellio/jobim/>
|
36
|
+
Report bugs to: <https://github.com/zellio/jobim/issues>
|
37
|
+
```
|
38
|
+
|
39
|
+
`jobim` is run like `thin` but does not require a configuration script. By
|
40
|
+
default `jobim` will bind to `0.0.0.0:5634` and serve the current working
|
41
|
+
directory.
|
19
42
|
|
20
43
|
``` shell
|
21
44
|
jobim path/to/webroot
|
22
45
|
```
|
23
|
-
|
46
|
+
|
47
|
+
The site can be viewed at `http://localhost:5634` via a normal web browser.
|
24
48
|
|
25
49
|
## Contributing
|
26
50
|
|
data/bin/jobim
CHANGED
@@ -7,46 +7,4 @@ $:.unshift File.expand_path("../../lib", file)
|
|
7
7
|
|
8
8
|
require 'jobim'
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
exit if opts.nil?
|
13
|
-
|
14
|
-
require 'rack'
|
15
|
-
require 'rack/rewrite'
|
16
|
-
|
17
|
-
app = Rack::Builder.new do
|
18
|
-
use Rack::Rewrite do
|
19
|
-
rewrite %r{(.*)}, -> (match, env) do
|
20
|
-
request_path = env["REQUEST_PATH"]
|
21
|
-
|
22
|
-
return match[1] if opts[:Prefix].length > request_path.length
|
23
|
-
|
24
|
-
local_path = File.join(opts[:Dir], request_path[opts[:Prefix].length..-1])
|
25
|
-
|
26
|
-
if File.directory?(local_path) and
|
27
|
-
File.exists?(File.join(local_path, "index.html"))
|
28
|
-
File.join(request_path, "index.html")
|
29
|
-
else
|
30
|
-
match[1]
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
use Rack::CommonLogger, STDOUT
|
36
|
-
|
37
|
-
map opts[:Prefix] do
|
38
|
-
run Rack::Directory.new(opts[:Dir])
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
puts ">>> Serving #{opts[:Dir]}"
|
43
|
-
|
44
|
-
Rack::Handler::Thin.run(app, opts) do |server|
|
45
|
-
if opts[:Daemonize]
|
46
|
-
server.pid_file = 'jobim.pid'
|
47
|
-
server.log_file = 'jobim.log'
|
48
|
-
server.daemonize
|
49
|
-
end
|
50
|
-
|
51
|
-
Thin::Logging.silent = opts[:Quiet]
|
52
|
-
end
|
10
|
+
Jobim::CLI.run!(*ARGV)
|
data/lib/jobim/cli.rb
CHANGED
data/lib/jobim/server.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'rack'
|
2
|
+
require 'rack/rewrite'
|
3
|
+
|
4
|
+
module Jobim::Server
|
5
|
+
|
6
|
+
def self.start(opts)
|
7
|
+
app = Rack::Builder.new do
|
8
|
+
use Rack::Rewrite do
|
9
|
+
rewrite %r{(.*)}, -> (match, env) do
|
10
|
+
request_path = env["REQUEST_PATH"]
|
11
|
+
|
12
|
+
return match[1] if opts[:Prefix].length > request_path.length
|
13
|
+
|
14
|
+
local_path = File.join(opts[:Dir], request_path[opts[:Prefix].length..-1])
|
15
|
+
|
16
|
+
if File.directory?(local_path) and
|
17
|
+
File.exists?(File.join(local_path, "index.html"))
|
18
|
+
File.join(request_path, "index.html")
|
19
|
+
else
|
20
|
+
match[1]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
use Rack::CommonLogger, STDOUT
|
26
|
+
|
27
|
+
map opts[:Prefix] do
|
28
|
+
run Rack::Directory.new(opts[:Dir])
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
puts ">>> Serving #{opts[:Dir]}"
|
33
|
+
|
34
|
+
Rack::Handler::Thin.run(app, opts) do |server|
|
35
|
+
if opts[:Daemonize]
|
36
|
+
server.pid_file = 'jobim.pid'
|
37
|
+
server.log_file = 'jobim.log'
|
38
|
+
server.daemonize
|
39
|
+
end
|
40
|
+
|
41
|
+
Thin::Logging.silent = opts[:Quiet]
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
data/lib/jobim/version.rb
CHANGED
data/lib/jobim.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jobim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zachary Elliott
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -125,6 +125,7 @@ files:
|
|
125
125
|
- jobim.gemspec
|
126
126
|
- lib/jobim.rb
|
127
127
|
- lib/jobim/cli.rb
|
128
|
+
- lib/jobim/server.rb
|
128
129
|
- lib/jobim/version.rb
|
129
130
|
homepage: https://github.com/zellio/jobim
|
130
131
|
licenses:
|
@@ -146,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
146
147
|
version: '0'
|
147
148
|
requirements: []
|
148
149
|
rubyforge_project:
|
149
|
-
rubygems_version: 2.1.
|
150
|
+
rubygems_version: 2.1.5
|
150
151
|
signing_key:
|
151
152
|
specification_version: 4
|
152
153
|
summary: Popup HTTP Server
|