mongrel2 0.29.0 → 0.30.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.
- data.tar.gz.sig +0 -0
- data/History.rdoc +8 -0
- data/Manifest.txt +1 -0
- data/Rakefile +0 -1
- data/bin/m2sh.rb +62 -6
- data/data/mongrel2/index.html.in +51 -0
- data/lib/mongrel2.rb +2 -2
- data/lib/mongrel2/config/handler.rb +2 -2
- metadata +3 -18
- metadata.gz.sig +0 -0
data.tar.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
== v0.30.0 [2012-07-27] Michael Granger <ged@FaerieMUD.org>
|
2
|
+
|
3
|
+
- Add a static index page to the quickstart Dir directory.
|
4
|
+
- Make the failure to find a mongrel2 binary friendlier.
|
5
|
+
- Fix parameter name of ::by_send_ident for auto-mapping by the rest
|
6
|
+
service.
|
7
|
+
|
8
|
+
|
1
9
|
== v0.29.0 [2012-07-13] Michael Granger <ged@FaerieMUD.org>
|
2
10
|
|
3
11
|
- Make m2sh.rb write audit log events for modifying actions
|
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
@@ -27,7 +27,6 @@ hoespec = Hoe.spec 'mongrel2' do
|
|
27
27
|
|
28
28
|
self.dependency 'nokogiri', '~> 1.5'
|
29
29
|
self.dependency 'sequel', '~> 3.34'
|
30
|
-
self.dependency 'amalgalite', '~> 1.1'
|
31
30
|
self.dependency 'tnetstring', '~> 0.3'
|
32
31
|
self.dependency 'yajl-ruby', '~> 1.0'
|
33
32
|
self.dependency 'trollop', '~> 1.16'
|
data/bin/m2sh.rb
CHANGED
@@ -49,7 +49,7 @@ class Mongrel2::M2SHCommand
|
|
49
49
|
extend ::Sysexits,
|
50
50
|
Loggability
|
51
51
|
include Sysexits,
|
52
|
-
|
52
|
+
Mongrel2::Constants
|
53
53
|
|
54
54
|
# Loggability API -- set up logging under the 'strelka' log host
|
55
55
|
log_to :mongrel2
|
@@ -431,7 +431,7 @@ class Mongrel2::M2SHCommand
|
|
431
431
|
### The 'start' command
|
432
432
|
def start_command( *args )
|
433
433
|
server = find_server( args.shift )
|
434
|
-
mongrel2 =
|
434
|
+
mongrel2 = find_mongrel2()
|
435
435
|
|
436
436
|
if options.port
|
437
437
|
message "Resetting %s server's port to %d" % [ server.name, options.port ]
|
@@ -439,7 +439,7 @@ class Mongrel2::M2SHCommand
|
|
439
439
|
server.save
|
440
440
|
end
|
441
441
|
|
442
|
-
cmd = [ mongrel2, Mongrel2::Config.dbname.to_s, server.uuid ]
|
442
|
+
cmd = [ mongrel2.to_s, Mongrel2::Config.dbname.to_s, server.uuid ]
|
443
443
|
cmd.unshift( 'sudo' ) if self.options.sudo
|
444
444
|
|
445
445
|
url = "http%s://%s:%d" % [
|
@@ -449,7 +449,9 @@ class Mongrel2::M2SHCommand
|
|
449
449
|
]
|
450
450
|
|
451
451
|
Mongrel2::Config.log_action( "Starting server: #{server}", self.options.why )
|
452
|
+
message '*' * 70
|
452
453
|
header "Starting mongrel2 at: #{url}"
|
454
|
+
message '*' * 70
|
453
455
|
exec( *cmd )
|
454
456
|
end
|
455
457
|
help :start, "Starts a server."
|
@@ -524,12 +526,14 @@ class Mongrel2::M2SHCommand
|
|
524
526
|
|
525
527
|
### The 'bootstrap' command.
|
526
528
|
def bootstrap_command( *args )
|
527
|
-
scriptname
|
528
|
-
template
|
529
|
-
data = template.read
|
529
|
+
scriptname = args.shift || DEFAULT_CONFIG_SCRIPT
|
530
|
+
template = Mongrel2::DATA_DIR + 'config.rb.in'
|
530
531
|
|
532
|
+
# Read the config DSL template
|
533
|
+
data = template.read
|
531
534
|
data.gsub!( /%% PWD %%/, Dir.pwd )
|
532
535
|
|
536
|
+
# Write it out
|
533
537
|
header "Writing a config-generation script to %s" % [ scriptname ]
|
534
538
|
File.open( scriptname, File::WRONLY|File::EXCL|File::CREAT, 0755, encoding: 'utf-8' ) do |fh|
|
535
539
|
fh.print( data )
|
@@ -542,12 +546,34 @@ class Mongrel2::M2SHCommand
|
|
542
546
|
|
543
547
|
### The 'quickstart' command.
|
544
548
|
def quickstart_command( *args )
|
549
|
+
idx_template = Mongrel2::DATA_DIR + 'index.html.in'
|
545
550
|
configfile = 'config.rb'
|
546
551
|
|
547
552
|
header "Quickstart!"
|
548
553
|
self.bootstrap_command( configfile )
|
549
554
|
edit( configfile )
|
550
555
|
self.load_command( configfile )
|
556
|
+
|
557
|
+
# Now load the new config DB and fetch the configured server
|
558
|
+
host = Mongrel2::Config.servers.first.hosts.first
|
559
|
+
hello_route = host.routes_dataset.filter( target_type: 'handler' ).first
|
560
|
+
|
561
|
+
# Read the index page template
|
562
|
+
data = idx_template.read
|
563
|
+
data.gsub!( /%% VERSION %%/, Mongrel2.version_string(true) )
|
564
|
+
data.gsub!( /%% HELLOWORLD_SEND_SPEC %%/, hello_route.target.send_spec )
|
565
|
+
data.gsub!( /%% HELLOWORLD_RECV_SPEC %%/, hello_route.target.recv_spec )
|
566
|
+
data.gsub!( /%% HELLOWORLD_URI %%/, hello_route.path[ /([^\(]*)/ ] )
|
567
|
+
|
568
|
+
# Write it out to the public directory
|
569
|
+
header "Writing an index file to public/index.html"
|
570
|
+
Dir.mkdir( 'public' ) unless File.directory?( 'public' )
|
571
|
+
File.open( 'public/index.html', File::WRONLY|File::EXCL|File::CREAT, 0755,
|
572
|
+
encoding: 'utf-8' ) do |fh|
|
573
|
+
fh.print( data )
|
574
|
+
end
|
575
|
+
message "Done."
|
576
|
+
|
551
577
|
self.start_command()
|
552
578
|
end
|
553
579
|
help :quickstart, "Set up a basic mongrel2 server and run it."
|
@@ -658,6 +684,36 @@ class Mongrel2::M2SHCommand
|
|
658
684
|
end
|
659
685
|
|
660
686
|
|
687
|
+
### Search the PATH for a mongrel2 binary, returning the absolute Pathname to it if found, and
|
688
|
+
### outputting a warning and describing how to set ENV['MONGREL2'] if not.
|
689
|
+
def find_mongrel2
|
690
|
+
if ENV['MONGREL2']
|
691
|
+
m2 = Pathname( ENV['MONGREL2'] )
|
692
|
+
error = nil
|
693
|
+
if !m2.file?
|
694
|
+
error = "but it isn't a plain file."
|
695
|
+
elsif !m2.executable?
|
696
|
+
error = "but it isn't executable."
|
697
|
+
end
|
698
|
+
|
699
|
+
raise "MONGREL2 was set to %p, #{error}" if error
|
700
|
+
|
701
|
+
return m2
|
702
|
+
else
|
703
|
+
m2 = ENV['PATH'].split( File::PATH_SEPARATOR ).
|
704
|
+
map {|dir| Pathname(dir) + 'mongrel2' }.
|
705
|
+
find {|path| path.executable? }
|
706
|
+
|
707
|
+
return m2 if m2
|
708
|
+
|
709
|
+
raise "The 'mongrel2' binary doesn't seem to be in your PATH. Either " +
|
710
|
+
"add the appropriate directory to your PATH or set the MONGREL2 " +
|
711
|
+
"environment variable to the full path."
|
712
|
+
end
|
713
|
+
|
714
|
+
end
|
715
|
+
|
716
|
+
|
661
717
|
|
662
718
|
end # class Mongrel2::M2SHCommand
|
663
719
|
|
@@ -0,0 +1,51 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Ruby-Mongrel2 QuickStart</title>
|
5
|
+
<style type="text/css" media="screen" title="no title" charset="utf-8">
|
6
|
+
html {
|
7
|
+
margin: 0;
|
8
|
+
}
|
9
|
+
|
10
|
+
body {
|
11
|
+
background: rgb(206,220,231); /* Old browsers */
|
12
|
+
background: linear-gradient(to bottom, rgba(206,220,231,1) 0%,rgba(89,106,114,1) 100%); /* W3C */
|
13
|
+
color: #333;
|
14
|
+
margin: 0;
|
15
|
+
padding: 4em;
|
16
|
+
font-family: Menlo, Monaco, monospace;
|
17
|
+
font-size: 76%;
|
18
|
+
min-width: 785px;
|
19
|
+
}
|
20
|
+
|
21
|
+
footer {
|
22
|
+
position: absolute;
|
23
|
+
bottom: 5px;
|
24
|
+
font-size: 9px;
|
25
|
+
color: #666;
|
26
|
+
}
|
27
|
+
|
28
|
+
</style>
|
29
|
+
<meta charset="utf-8" />
|
30
|
+
</head>
|
31
|
+
<body>
|
32
|
+
<header>
|
33
|
+
<hgroup>
|
34
|
+
<h1>Ruby-Mongrel2 Quickstart</h1>
|
35
|
+
</hgroup>
|
36
|
+
</header>
|
37
|
+
|
38
|
+
<section>
|
39
|
+
<p>It Works!™</p>
|
40
|
+
|
41
|
+
<p>If you have a Hello World application connected to <tt>%% HELLOWORLD_SEND_SPEC %%</tt> /
|
42
|
+
<tt>%% HELLOWORLD_RECV_SPEC %%</tt>, you can
|
43
|
+
<a href="%% HELLOWORLD_URI %%">run it here</a>. You should also try killing
|
44
|
+
the application, clicking the link, then restarting the app. Neat!</p>
|
45
|
+
</section>
|
46
|
+
|
47
|
+
<footer>
|
48
|
+
<p>Brought to you by %% VERSION %%.</p>
|
49
|
+
</footer>
|
50
|
+
</body>
|
51
|
+
</html>
|
data/lib/mongrel2.rb
CHANGED
@@ -20,10 +20,10 @@ module Mongrel2
|
|
20
20
|
abort "\n\n>>> Mongrel2 requires Ruby 1.9.2 or later. <<<\n\n" if RUBY_VERSION < '1.9.2'
|
21
21
|
|
22
22
|
# Library version constant
|
23
|
-
VERSION = '0.
|
23
|
+
VERSION = '0.30.0'
|
24
24
|
|
25
25
|
# Version-control revision constant
|
26
|
-
REVISION = %q$Revision:
|
26
|
+
REVISION = %q$Revision: 560f4524ebb0 $
|
27
27
|
|
28
28
|
|
29
29
|
require 'mongrel2/constants'
|
@@ -42,8 +42,8 @@ class Mongrel2::Config::Handler < Mongrel2::Config( :handler )
|
|
42
42
|
# :method: by_send_ident( uuid )
|
43
43
|
#
|
44
44
|
# Look up a Handler by its send_ident, which should be a +uuid+ or similar String.
|
45
|
-
def_dataset_method( :by_send_ident ) do |
|
46
|
-
filter( :send_ident =>
|
45
|
+
def_dataset_method( :by_send_ident ) do |send_ident|
|
46
|
+
filter( :send_ident => send_ident )
|
47
47
|
end
|
48
48
|
|
49
49
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongrel2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.30.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
36
36
|
YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
|
37
37
|
Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
|
38
38
|
cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
39
|
-
date: 2012-07-
|
39
|
+
date: 2012-07-27 00:00:00.000000000 Z
|
40
40
|
dependencies:
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: nokogiri
|
@@ -70,22 +70,6 @@ dependencies:
|
|
70
70
|
- - ~>
|
71
71
|
- !ruby/object:Gem::Version
|
72
72
|
version: '3.34'
|
73
|
-
- !ruby/object:Gem::Dependency
|
74
|
-
name: amalgalite
|
75
|
-
requirement: !ruby/object:Gem::Requirement
|
76
|
-
none: false
|
77
|
-
requirements:
|
78
|
-
- - ~>
|
79
|
-
- !ruby/object:Gem::Version
|
80
|
-
version: '1.1'
|
81
|
-
type: :runtime
|
82
|
-
prerelease: false
|
83
|
-
version_requirements: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
|
-
requirements:
|
86
|
-
- - ~>
|
87
|
-
- !ruby/object:Gem::Version
|
88
|
-
version: '1.1'
|
89
73
|
- !ruby/object:Gem::Dependency
|
90
74
|
name: tnetstring
|
91
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -331,6 +315,7 @@ files:
|
|
331
315
|
- data/mongrel2/config.rb.in
|
332
316
|
- data/mongrel2/config.sql
|
333
317
|
- data/mongrel2/css/master.css
|
318
|
+
- data/mongrel2/index.html.in
|
334
319
|
- data/mongrel2/js/websock-test.js
|
335
320
|
- data/mongrel2/mimetypes.sql
|
336
321
|
- data/mongrel2/websock-test.html
|
metadata.gz.sig
CHANGED
Binary file
|