ruby-style 1.1.5 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +88 -25
- data/lib/style.rb +11 -6
- metadata +3 -5
- data/lib/style/adapter/generic.rb +0 -9
- data/lib/style/adapter/ramaze.rb +0 -14
data/README
CHANGED
@@ -14,9 +14,9 @@ style is distributed as a gem, and can be installed with:
|
|
14
14
|
Feedback/Bugs/Support Requests should be handled through RubyForge at
|
15
15
|
http://rubyforge.org/projects/ruby-style/.
|
16
16
|
|
17
|
-
The RDoc is available at http://
|
18
|
-
|
19
|
-
|
17
|
+
The RDoc is available at http://ruby-style.rubyforge.org.
|
18
|
+
|
19
|
+
Source is available at github: http://github.com/jeremyevans/ruby-style
|
20
20
|
|
21
21
|
== Highlights
|
22
22
|
|
@@ -29,8 +29,7 @@ Source control access is available at github
|
|
29
29
|
the fly
|
30
30
|
* Supports both command line and yaml config file configuration
|
31
31
|
* Is easily extensible to support running other frameworks and protocols other
|
32
|
-
than the included ones (Rails,
|
33
|
-
Thin, and Evented Mongrel)
|
32
|
+
than the included ones (Rails; SCGI, Mongrel, Thin, and Evented Mongrel)
|
34
33
|
|
35
34
|
== Running and configuration
|
36
35
|
|
@@ -41,16 +40,16 @@ style [option value, ...] (decrement|halt|increment|restart|run|start|stop)
|
|
41
40
|
Options:
|
42
41
|
-a, --adapter Adapter/Framework to use [rails]
|
43
42
|
-b, --bind IP address to bind to [127.0.0.1]
|
44
|
-
-c, --config Location of config file [
|
43
|
+
-c, --config Location of config file [style.yaml]
|
45
44
|
-d, --directory Working directory [.]
|
46
45
|
-D, --debug Run the program in the foreground without forking [No]
|
47
46
|
-f, --fork Number of listners on each port [1]
|
48
47
|
-h, --handler Handler/Server to use [mongrel]
|
49
48
|
-k, --killtime Number of seconds to wait when killing each child [2]
|
50
|
-
-l, --logfile Where to redirect STDOUT and STDERR [
|
49
|
+
-l, --logfile Where to redirect STDOUT and STDERR [style.log]
|
51
50
|
-n, --number Number of ports to which to bind [1]
|
52
51
|
-p, --port Starting port to which to bind [9999]
|
53
|
-
-P, --pidfile Location of pid file [
|
52
|
+
-P, --pidfile Location of pid file [style.pid]
|
54
53
|
-u, --unsupervised Whether to run unsupervised [No]
|
55
54
|
|
56
55
|
Here's what the various commands do:
|
@@ -76,9 +75,9 @@ Here's a longer explanation of the options:
|
|
76
75
|
|
77
76
|
-a, --adapter Adapter/Framework to use [rails]
|
78
77
|
|
79
|
-
This is the adapter/framework to use. Support for Rails
|
80
|
-
included in the distribution,
|
81
|
-
|
78
|
+
This is the adapter/framework to use. Support for Rails is
|
79
|
+
included in the distribution, and is special-cased. Any other value runs
|
80
|
+
require with the argument given.
|
82
81
|
|
83
82
|
-b, --bind IP address to bind to [127.0.0.1]
|
84
83
|
|
@@ -218,13 +217,13 @@ listener on each port:
|
|
218
217
|
| :adapter: rails
|
219
218
|
| :handler: thin
|
220
219
|
|
221
|
-
Very simple configuration that runs Ramaze
|
222
|
-
mode on port 3000.
|
220
|
+
Very simple configuration that runs Ramaze (with the default start.rb runner)
|
221
|
+
+Evented Mongrel in unsupervised mode on port 3000.
|
223
222
|
|
224
223
|
| ---
|
225
224
|
| :port: 3000
|
226
225
|
| :unsupervised: 1
|
227
|
-
| :adapter:
|
226
|
+
| :adapter: start
|
228
227
|
| :handler: evented_mongrel
|
229
228
|
|
230
229
|
Using the generic adapter to host a camping application (you are responsible
|
@@ -233,9 +232,7 @@ $LOAD_PATH that uses Mongrel to run camping):
|
|
233
232
|
|
234
233
|
| ---
|
235
234
|
| :port: 3301
|
236
|
-
| :adapter:
|
237
|
-
| :adapter_config:
|
238
|
-
| :script: my_camping_app
|
235
|
+
| :adapter: my_camping_app
|
239
236
|
|
240
237
|
== How restarting works
|
241
238
|
|
@@ -293,21 +290,87 @@ For example:
|
|
293
290
|
Result, three brand new listening processes, total time to restart is about 12
|
294
291
|
seconds (2 * (2 killtime * 1 number * 3 fork)).
|
295
292
|
|
296
|
-
== Other handlers
|
293
|
+
== Other handlers
|
297
294
|
|
298
295
|
To add support for another handler, make sure the instead of creating a socket,
|
299
296
|
it uses the socket provided by style, available in the global variable
|
300
297
|
$STYLE_SOCKET. See existing handler code to see how Mongrel, SCGI, and Event
|
301
298
|
Machine were modified to support this.
|
302
299
|
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
300
|
+
Style loads handlers from style/handler relative to the load path, so you can
|
301
|
+
add your own handlers without modifying the program, as long as you place the
|
302
|
+
files somewhere in the load path.
|
303
|
+
|
304
|
+
== Changes to the default config, logfile, and pidfile in 1.2.0
|
305
|
+
|
306
|
+
Previously, style had the following defaults:
|
307
|
+
|
308
|
+
* config - config/style.yaml
|
309
|
+
* logfile - log/style.log
|
310
|
+
* pidfile - log/style.pid
|
307
311
|
|
308
|
-
|
309
|
-
|
310
|
-
|
312
|
+
These made sense because style was originally designed to serve Rails
|
313
|
+
applications, which all have config and log directories. Now that style
|
314
|
+
serves more types of applications, and few of those have config or log
|
315
|
+
directories, these no longer made good defaults. The new defaults use the
|
316
|
+
same filename, without the directory:
|
317
|
+
|
318
|
+
* config - style.yaml
|
319
|
+
* logfile - style.log
|
320
|
+
* pidfile - style.pid
|
321
|
+
|
322
|
+
== Changes to adapter handling in 1.2.0
|
323
|
+
|
324
|
+
Adapter handling was simplified in 1.2.0. Because there is no easy script
|
325
|
+
that loads rails, there is still a rails adapter. However, for all other
|
326
|
+
framaworks you would want to use, just specify the file you want to require
|
327
|
+
as the adapter. This simplifies things and allows you to specify your
|
328
|
+
adapter file on the command line:
|
329
|
+
|
330
|
+
style -a sinatra_runner start
|
331
|
+
|
332
|
+
Before, this wasn't possible, you had to set up a configuration file or put
|
333
|
+
the adapter file you wanted to use in a style/adapter subdirectory in the load
|
334
|
+
path.
|
335
|
+
|
336
|
+
== Upgrading from 1.1.*, previously using ramaze adapter
|
337
|
+
|
338
|
+
Previously, if you used the following configuration:
|
339
|
+
|
340
|
+
| ---
|
341
|
+
| :adapter: ramaze
|
342
|
+
|
343
|
+
You should change it to:
|
344
|
+
|
345
|
+
| ---
|
346
|
+
| :adapter: start
|
347
|
+
|
348
|
+
If you specified your own :runner via :adapter_config, just use that runner
|
349
|
+
name for the :adapter instead of start.
|
350
|
+
|
351
|
+
The Ramaze adapter had some default settings that you might want to consider:
|
352
|
+
|
353
|
+
:test_connections=>false, :force=>true
|
354
|
+
|
355
|
+
You should make sure your ramaze runner sets the correct :adapter for Ramaze to
|
356
|
+
use (it should use the same one as style uses). Having it set the :host and
|
357
|
+
:port are good ideas, otherwise it may display those incorrectly. You should
|
358
|
+
make sure your ramaze runner actually calls Ramaze.start, as well.
|
359
|
+
|
360
|
+
== Upgrading from 1.1.*, previously using generic adapter
|
361
|
+
|
362
|
+
If you were previously using the generic adapter, the upgrade is simple. Change
|
363
|
+
the following cofiguration from:
|
364
|
+
|
365
|
+
| ---
|
366
|
+
| :adapter: generic
|
367
|
+
| :adapter_config:
|
368
|
+
| :script: cse
|
369
|
+
|
370
|
+
To:
|
371
|
+
|
372
|
+
| ---
|
373
|
+
| :adapter: cse
|
311
374
|
|
312
375
|
== FAQ
|
313
376
|
|
data/lib/style.rb
CHANGED
@@ -19,10 +19,10 @@ class Style
|
|
19
19
|
|
20
20
|
# Configure style
|
21
21
|
def initialize
|
22
|
-
@config = {:pidfile=>'
|
23
|
-
:
|
24
|
-
:cliconfig=>{}, :killtime=>2, :config=>'
|
25
|
-
:logfile=>'
|
22
|
+
@config = {:pidfile=>'style.pid', :number=>1, :port=>9999,
|
23
|
+
:fork=>1, :bind=>'127.0.0.1',
|
24
|
+
:cliconfig=>{}, :killtime=>2, :config=>'style.yaml',
|
25
|
+
:logfile=>'style.log', :children=>{},:sockets=>{},
|
26
26
|
:adapter_config=>{}, :directory=>'.', :debug=>false,
|
27
27
|
:unsupervised=> false, :adapter=>'rails', :handler=>'mongrel'}
|
28
28
|
@mutex = Mutex.new
|
@@ -99,7 +99,13 @@ class Style
|
|
99
99
|
|
100
100
|
# Load the revelent style adapter/framework
|
101
101
|
def load_adapter
|
102
|
-
|
102
|
+
adapter = config[:adapter].to_s
|
103
|
+
if adapter == 'rails'
|
104
|
+
require "style/adapter/rails"
|
105
|
+
run
|
106
|
+
else
|
107
|
+
require adapter
|
108
|
+
end
|
103
109
|
end
|
104
110
|
|
105
111
|
# Load the revelent style handler/server
|
@@ -275,7 +281,6 @@ class Style
|
|
275
281
|
def run_child
|
276
282
|
load_handler
|
277
283
|
load_adapter
|
278
|
-
run
|
279
284
|
end
|
280
285
|
|
281
286
|
# Run the program in the foreground instead of daemonizing. Only runs on one
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-style
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Evans
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-06-18 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|
@@ -25,16 +25,14 @@ files:
|
|
25
25
|
- LICENSE
|
26
26
|
- README
|
27
27
|
- lib/style.rb
|
28
|
-
- lib/style/adapter/generic.rb
|
29
28
|
- lib/style/adapter/rails.rb
|
30
|
-
- lib/style/adapter/ramaze.rb
|
31
29
|
- lib/style/handler/evented_mongrel.rb
|
32
30
|
- lib/style/handler/eventmachine.rb
|
33
31
|
- lib/style/handler/mongrel.rb
|
34
32
|
- lib/style/handler/scgi.rb
|
35
33
|
- lib/style/handler/thin.rb
|
36
34
|
has_rdoc: true
|
37
|
-
homepage:
|
35
|
+
homepage: http://ruby-style.rubyforge.org
|
38
36
|
post_install_message:
|
39
37
|
rdoc_options:
|
40
38
|
- --inline-source
|
@@ -1,9 +0,0 @@
|
|
1
|
-
class Style
|
2
|
-
# This requires config[:adapter_config][:script] || 'style_adapter',
|
3
|
-
# which means you can use it to host other supported web frameworks.
|
4
|
-
# Those frameworks should start the server that style is currently using,
|
5
|
-
# in order to pick up the correct socket.
|
6
|
-
def run
|
7
|
-
require(config[:adapter_config][:script] || 'style_adapter')
|
8
|
-
end
|
9
|
-
end
|
data/lib/style/adapter/ramaze.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'ramaze'
|
3
|
-
|
4
|
-
class Style
|
5
|
-
# Run Ramaze with the mongrel adapter and start.rb runner
|
6
|
-
def run
|
7
|
-
settings = {:adapter=>config[:handler].to_sym, :test_connections=>false,
|
8
|
-
:force=>true, :runner =>'start.rb', :host=>config[:bind],
|
9
|
-
:port=>config[:sockets][$STYLE_SOCKET]}.merge(config[:adapter_config])
|
10
|
-
require settings[:runner].to_s
|
11
|
-
Ramaze.start(settings)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|