hoof 0.0.0 → 0.0.1
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.
- 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
|