hoof 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -0
- data/Gemfile.lock +2 -0
- data/README.rdoc +30 -11
- data/VERSION +1 -1
- data/bin/hoof +2 -5
- data/hoof.gemspec +5 -1
- data/lib/hoof/application_pool.rb +4 -0
- data/lib/hoof/cli.rb +33 -0
- data/lib/hoof/http_server.rb +1 -1
- metadata +24 -9
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
data/README.rdoc
CHANGED
@@ -1,28 +1,47 @@
|
|
1
|
-
=
|
1
|
+
= Hoof
|
2
2
|
|
3
3
|
Linux version of https://github.com/37signals/pow/
|
4
4
|
|
5
|
-
|
5
|
+
== Installation
|
6
6
|
|
7
|
-
|
7
|
+
=== Gem
|
8
8
|
|
9
|
-
|
9
|
+
At first - install gem
|
10
10
|
|
11
|
-
|
11
|
+
<tt>gem install hoof</tt>
|
12
12
|
|
13
|
-
|
13
|
+
=== NSS extension
|
14
|
+
|
15
|
+
Second step - you should compile and install libnss_hoof.so.
|
16
|
+
|
17
|
+
Compile: cd /to/your/gems/installation/path/gems/hoof-x.x.x/ext and +make+
|
18
|
+
|
19
|
+
Install: just symlink maked libnss_hoof.so.2 to /lib/libnss_hoof.so.2. Like this:
|
20
|
+
|
21
|
+
<tt>cd /lib; sudo ln -sf /to/your/gems/installation/path/gems/hoof-x.x.x/ext/libnss_hoof.so.2</tt>
|
14
22
|
|
15
23
|
Then change your /etc/nsswitch.conf like this:
|
16
24
|
|
17
|
-
hosts:
|
25
|
+
<tt>hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 hoof</tt>
|
26
|
+
|
27
|
+
=== Application
|
28
|
+
|
29
|
+
Next step - initialize hoof for application:
|
30
|
+
|
31
|
+
<tt>mkdir ~/.hoof && ln -s /path/to/app ~/.hoof/app</tt>
|
32
|
+
|
33
|
+
Then add unicorn to your app Gembile and bundle it.
|
34
|
+
|
35
|
+
|
36
|
+
|
37
|
+
== Daemon
|
18
38
|
|
19
|
-
|
39
|
+
Hoof has basic cli for controlling.
|
20
40
|
|
21
|
-
|
41
|
+
Use <tt>hoof</tt> executable to start daemon. Read <tt>hoof help</tt>
|
22
42
|
|
23
|
-
|
43
|
+
Start your browser and go to http://app.dev:3001
|
24
44
|
|
25
|
-
ping cool_project.dev - Wuola!
|
26
45
|
|
27
46
|
|
28
47
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.1
|
data/bin/hoof
CHANGED
data/hoof.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{hoof}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["pyromaniac"]
|
@@ -34,6 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
"lib/hoof.rb",
|
35
35
|
"lib/hoof/application.rb",
|
36
36
|
"lib/hoof/application_pool.rb",
|
37
|
+
"lib/hoof/cli.rb",
|
37
38
|
"lib/hoof/http_server.rb",
|
38
39
|
"lib/hoof/unicorn_config.rb",
|
39
40
|
"test/helper.rb",
|
@@ -54,6 +55,7 @@ Gem::Specification.new do |s|
|
|
54
55
|
s.add_runtime_dependency(%q<eventmachine>, [">= 0"])
|
55
56
|
s.add_runtime_dependency(%q<unicorn>, [">= 0"])
|
56
57
|
s.add_runtime_dependency(%q<http_parser>, [">= 0"])
|
58
|
+
s.add_runtime_dependency(%q<thor>, [">= 0"])
|
57
59
|
s.add_development_dependency(%q<shoulda>, [">= 0"])
|
58
60
|
s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
|
59
61
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6.0"])
|
@@ -63,6 +65,7 @@ Gem::Specification.new do |s|
|
|
63
65
|
s.add_dependency(%q<eventmachine>, [">= 0"])
|
64
66
|
s.add_dependency(%q<unicorn>, [">= 0"])
|
65
67
|
s.add_dependency(%q<http_parser>, [">= 0"])
|
68
|
+
s.add_dependency(%q<thor>, [">= 0"])
|
66
69
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
67
70
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
68
71
|
s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
|
@@ -73,6 +76,7 @@ Gem::Specification.new do |s|
|
|
73
76
|
s.add_dependency(%q<eventmachine>, [">= 0"])
|
74
77
|
s.add_dependency(%q<unicorn>, [">= 0"])
|
75
78
|
s.add_dependency(%q<http_parser>, [">= 0"])
|
79
|
+
s.add_dependency(%q<thor>, [">= 0"])
|
76
80
|
s.add_dependency(%q<shoulda>, [">= 0"])
|
77
81
|
s.add_dependency(%q<bundler>, ["~> 1.0.0"])
|
78
82
|
s.add_dependency(%q<jeweler>, ["~> 1.6.0"])
|
data/lib/hoof/cli.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require "thor"
|
2
|
+
require 'daemons'
|
3
|
+
require "hoof"
|
4
|
+
|
5
|
+
module Hoof
|
6
|
+
class Cli < Thor
|
7
|
+
|
8
|
+
default_task :start
|
9
|
+
|
10
|
+
desc "start", "Starts hoof daemon"
|
11
|
+
def start
|
12
|
+
daemon 'start'
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "stop", "Stops hoof daemon"
|
16
|
+
def stop
|
17
|
+
daemon 'stop'
|
18
|
+
end
|
19
|
+
|
20
|
+
#desc "list", "Lists started applications"
|
21
|
+
#def list
|
22
|
+
#end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def daemon *argv
|
27
|
+
Daemons.run_proc 'hoof', :dir_mode => :normal, :dir => '/tmp', :log_output => true, :ARGV => argv.flatten do
|
28
|
+
Hoof.start
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
data/lib/hoof/http_server.rb
CHANGED
@@ -16,7 +16,7 @@ module Hoof
|
|
16
16
|
name = host.gsub(/.dev$/, '')
|
17
17
|
application = Hoof.application name
|
18
18
|
|
19
|
-
if application.static?
|
19
|
+
if application && application.static?(parser.path.split('?', 2)[0])
|
20
20
|
p "serve static #{host}#{parser.path}"
|
21
21
|
send_data application.serve_static parser.path.split('?', 2)[0]
|
22
22
|
close_connection_after_writing
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hoof
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 1
|
10
|
+
version: 0.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- pyromaniac
|
@@ -86,10 +86,24 @@ dependencies:
|
|
86
86
|
version: "0"
|
87
87
|
requirement: *id005
|
88
88
|
prerelease: false
|
89
|
+
type: :runtime
|
90
|
+
name: thor
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
93
|
+
none: false
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
hash: 3
|
98
|
+
segments:
|
99
|
+
- 0
|
100
|
+
version: "0"
|
101
|
+
requirement: *id006
|
102
|
+
prerelease: false
|
89
103
|
type: :development
|
90
104
|
name: shoulda
|
91
105
|
- !ruby/object:Gem::Dependency
|
92
|
-
version_requirements: &
|
106
|
+
version_requirements: &id007 !ruby/object:Gem::Requirement
|
93
107
|
none: false
|
94
108
|
requirements:
|
95
109
|
- - ~>
|
@@ -100,12 +114,12 @@ dependencies:
|
|
100
114
|
- 0
|
101
115
|
- 0
|
102
116
|
version: 1.0.0
|
103
|
-
requirement: *
|
117
|
+
requirement: *id007
|
104
118
|
prerelease: false
|
105
119
|
type: :development
|
106
120
|
name: bundler
|
107
121
|
- !ruby/object:Gem::Dependency
|
108
|
-
version_requirements: &
|
122
|
+
version_requirements: &id008 !ruby/object:Gem::Requirement
|
109
123
|
none: false
|
110
124
|
requirements:
|
111
125
|
- - ~>
|
@@ -116,12 +130,12 @@ dependencies:
|
|
116
130
|
- 6
|
117
131
|
- 0
|
118
132
|
version: 1.6.0
|
119
|
-
requirement: *
|
133
|
+
requirement: *id008
|
120
134
|
prerelease: false
|
121
135
|
type: :development
|
122
136
|
name: jeweler
|
123
137
|
- !ruby/object:Gem::Dependency
|
124
|
-
version_requirements: &
|
138
|
+
version_requirements: &id009 !ruby/object:Gem::Requirement
|
125
139
|
none: false
|
126
140
|
requirements:
|
127
141
|
- - ">="
|
@@ -130,7 +144,7 @@ dependencies:
|
|
130
144
|
segments:
|
131
145
|
- 0
|
132
146
|
version: "0"
|
133
|
-
requirement: *
|
147
|
+
requirement: *id009
|
134
148
|
prerelease: false
|
135
149
|
type: :development
|
136
150
|
name: rcov
|
@@ -159,6 +173,7 @@ files:
|
|
159
173
|
- lib/hoof.rb
|
160
174
|
- lib/hoof/application.rb
|
161
175
|
- lib/hoof/application_pool.rb
|
176
|
+
- lib/hoof/cli.rb
|
162
177
|
- lib/hoof/http_server.rb
|
163
178
|
- lib/hoof/unicorn_config.rb
|
164
179
|
- test/helper.rb
|