mongrel_config 0.2.1 → 0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. data/Rakefile +3 -4
  2. data/doc/rdoc/classes/ConfigTool.html +174 -0
  3. data/doc/rdoc/classes/ConfigTool.src/M000001.html +33 -0
  4. data/doc/rdoc/classes/ConfigTool.src/M000002.html +28 -0
  5. data/doc/rdoc/classes/ConfigTool.src/M000003.html +45 -0
  6. data/doc/rdoc/classes/Configure/Controllers/ClearLogs.html +137 -0
  7. data/doc/rdoc/classes/Configure/Controllers/ClearLogs.src/M000043.html +21 -0
  8. data/doc/rdoc/classes/Configure/Controllers/Delete.html +137 -0
  9. data/doc/rdoc/classes/Configure/Controllers/Delete.src/M000036.html +20 -0
  10. data/doc/rdoc/classes/Configure/Controllers/Index.html +156 -0
  11. data/doc/rdoc/classes/Configure/Controllers/Index.src/M000027.html +18 -0
  12. data/doc/rdoc/classes/Configure/Controllers/Index.src/M000028.html +19 -0
  13. data/doc/rdoc/classes/Configure/Controllers/Info.html +137 -0
  14. data/doc/rdoc/classes/Configure/Controllers/Info.src/M000035.html +19 -0
  15. data/doc/rdoc/classes/Configure/Controllers/Install.html +182 -0
  16. data/doc/rdoc/classes/Configure/Controllers/Install.src/M000039.html +18 -0
  17. data/doc/rdoc/classes/Configure/Controllers/Install.src/M000040.html +43 -0
  18. data/doc/rdoc/classes/Configure/Controllers/Install.src/M000041.html +18 -0
  19. data/doc/rdoc/classes/Configure/Controllers/Install.src/M000042.html +18 -0
  20. data/doc/rdoc/classes/Configure/Controllers/Kill.html +137 -0
  21. data/doc/rdoc/classes/Configure/Controllers/Kill.src/M000029.html +32 -0
  22. data/doc/rdoc/classes/Configure/Controllers/Logs.html +162 -0
  23. data/doc/rdoc/classes/Configure/Controllers/Logs.src/M000037.html +19 -0
  24. data/doc/rdoc/classes/Configure/Controllers/Logs.src/M000038.html +18 -0
  25. data/doc/rdoc/classes/Configure/Controllers/Start.html +171 -0
  26. data/doc/rdoc/classes/Configure/Controllers/Start.src/M000032.html +18 -0
  27. data/doc/rdoc/classes/Configure/Controllers/Start.src/M000033.html +19 -0
  28. data/doc/rdoc/classes/Configure/Controllers/Start.src/M000034.html +27 -0
  29. data/doc/rdoc/classes/Configure/Controllers/Stop.html +156 -0
  30. data/doc/rdoc/classes/Configure/Controllers/Stop.src/M000030.html +18 -0
  31. data/doc/rdoc/classes/Configure/Controllers/Stop.src/M000031.html +26 -0
  32. data/doc/rdoc/classes/Configure/Controllers.html +123 -0
  33. data/doc/rdoc/classes/Configure/Views.html +360 -0
  34. data/doc/rdoc/classes/Configure/Views.src/M000011.html +24 -0
  35. data/doc/rdoc/classes/Configure/Views.src/M000012.html +25 -0
  36. data/doc/rdoc/classes/Configure/Views.src/M000013.html +26 -0
  37. data/doc/rdoc/classes/Configure/Views.src/M000014.html +20 -0
  38. data/doc/rdoc/classes/Configure/Views.src/M000015.html +31 -0
  39. data/doc/rdoc/classes/Configure/Views.src/M000016.html +27 -0
  40. data/doc/rdoc/classes/Configure/Views.src/M000017.html +32 -0
  41. data/doc/rdoc/classes/Configure/Views.src/M000018.html +18 -0
  42. data/doc/rdoc/classes/Configure/Views.src/M000019.html +18 -0
  43. data/doc/rdoc/classes/Configure/Views.src/M000020.html +29 -0
  44. data/doc/rdoc/classes/Configure/Views.src/M000021.html +42 -0
  45. data/doc/rdoc/classes/Configure/Views.src/M000022.html +34 -0
  46. data/doc/rdoc/classes/Configure/Views.src/M000023.html +25 -0
  47. data/doc/rdoc/classes/Configure/Views.src/M000024.html +35 -0
  48. data/doc/rdoc/classes/Configure/Views.src/M000025.html +23 -0
  49. data/doc/rdoc/classes/Configure/Views.src/M000026.html +20 -0
  50. data/doc/rdoc/classes/Configure.html +112 -0
  51. data/doc/rdoc/classes/W32Support.html +258 -0
  52. data/doc/rdoc/classes/W32Support.src/M000004.html +18 -0
  53. data/doc/rdoc/classes/W32Support.src/M000005.html +18 -0
  54. data/doc/rdoc/classes/W32Support.src/M000006.html +33 -0
  55. data/doc/rdoc/classes/W32Support.src/M000007.html +20 -0
  56. data/doc/rdoc/classes/W32Support.src/M000008.html +20 -0
  57. data/doc/rdoc/classes/W32Support.src/M000009.html +18 -0
  58. data/doc/rdoc/classes/W32Support.src/M000010.html +28 -0
  59. data/doc/rdoc/created.rid +1 -0
  60. data/doc/rdoc/files/COPYING.html +756 -0
  61. data/doc/rdoc/files/LICENSE.html +756 -0
  62. data/doc/rdoc/files/README.html +110 -0
  63. data/doc/rdoc/files/lib/mongrel_config/app_rb.html +110 -0
  64. data/doc/rdoc/files/lib/mongrel_config/init_rb.html +112 -0
  65. data/doc/rdoc/files/lib/mongrel_config/win32_app_rb.html +113 -0
  66. data/doc/rdoc/files/lib/mongrel_config/win32_rb.html +108 -0
  67. data/doc/rdoc/fr_class_index.html +40 -0
  68. data/doc/rdoc/fr_file_index.html +33 -0
  69. data/doc/rdoc/fr_method_index.html +69 -0
  70. data/doc/rdoc/index.html +24 -0
  71. data/doc/rdoc/rdoc-style.css +208 -0
  72. data/lib/mongrel_config/init.rb +32 -15
  73. data/lib/mongrel_config/win32.rb +85 -0
  74. data/lib/mongrel_config/win32_app.rb +251 -0
  75. data/resources/index_win32.html +68 -0
  76. data/resources/style.css +6 -1
  77. data/test/test_config.rb +48 -2
  78. data/tools/rakehelp.rb +2 -1
  79. metadata +95 -4
@@ -0,0 +1,251 @@
1
+ require 'erb'
2
+ require 'camping'
3
+ require 'mongrel/camping'
4
+ require 'yaml'
5
+ require 'thread'
6
+
7
+ Camping.goes :Configure
8
+
9
+ require 'mongrel_config/win32'
10
+
11
+ $service_group = ThreadGroup.new
12
+ $service_logs = ""
13
+
14
+ module Configure
15
+ module Controllers
16
+ class Index < R '/'
17
+ def get
18
+ @services = W32Support.list
19
+ render :list
20
+ end
21
+ end
22
+
23
+ class Info < R '/info/(\w+)'
24
+ def get(name)
25
+ @services = W32Support.list.select {|s| s.service_name == name }
26
+ render :info
27
+ end
28
+ end
29
+
30
+ class Start < R '/start/(\w+)'
31
+ def get(service)
32
+ runner = Thread.new do
33
+ W32Support.start(service) do |status|
34
+ $service_logs << "Starting #{service}: #{status}\n"
35
+ sleep 1
36
+ end
37
+ end
38
+
39
+ $service_group.add(runner)
40
+
41
+ redirect Index
42
+ end
43
+ end
44
+
45
+ class Stop < R '/stop/(\w+)'
46
+ def get(service)
47
+ runner = Thread.new do
48
+ W32Support.stop(service) do |status|
49
+ $service_logs << "Starting #{service}: #{status}\n"
50
+ sleep 1
51
+ end
52
+ end
53
+
54
+ $service_group.add(runner)
55
+ redirect Index
56
+ end
57
+ end
58
+
59
+ # eventually this will also let you see a particular service's logs
60
+ class Logs < R '/logs'
61
+ def get
62
+ render :service_logs
63
+ end
64
+ end
65
+
66
+ class ClearLogs < R '/clear_logs'
67
+ def get
68
+ $service_logs = ""
69
+ $service_logs << "#{Time.now}: CLEARED"
70
+
71
+ redirect Logs
72
+ end
73
+ end
74
+
75
+ class Install < R '/install'
76
+ def get
77
+ render :install_form
78
+ end
79
+
80
+ def post
81
+ options = []
82
+ if bad?(input.service_name) or bad?(input.root) or bad?(input.environment) or bad?(input.address) or bad?(input.port)
83
+ @result = "ERROR: You must fill out all mandatory (*) fields."
84
+ render :install_result
85
+ else
86
+ options << ["-n", input.service_name]
87
+ options << ["-r", '"' + input.root + '"']
88
+ options << ["-e", input.environment]
89
+ options << ["-b", input.address]
90
+ options << ["-p", input.port]
91
+ options << ["-d", input.display_name] if good? input.display_name
92
+ options << ["-m", '"' + input.mime + '"'] if good? input.mime
93
+ options << ["-P", input.num_procs] if good? input.num_procs
94
+ options << ["-t", input.timeout] if good? input.timeout
95
+ options << ["-c", input.cpu] if good? input.cpu
96
+
97
+ begin
98
+ @result = `ruby #$mongrel_rails_service install #{options.join(' ')}`
99
+ $service_logs << @result
100
+ rescue
101
+ @result = "Failed to start #{input.service_name}: #$!"
102
+ $service_logs << @result
103
+ end
104
+
105
+ render :install_result
106
+ end
107
+ end
108
+
109
+ def good?(field)
110
+ field and not field.strip.empty?
111
+ end
112
+
113
+ def bad?(field)
114
+ not good? field
115
+ end
116
+ end
117
+
118
+
119
+ class Delete < R '/delete/(\w+)'
120
+ def get(name)
121
+ W32Support.delete(name)
122
+ $service_logs << "Deleted #{name}\n"
123
+ redirect Index
124
+ end
125
+ end
126
+ end
127
+
128
+
129
+ module Views
130
+ def layout
131
+ links = [
132
+ ["/config", "Status"],
133
+ ["/config/install", "Install"],
134
+ ["/config/logs", "Logs"]
135
+ ]
136
+ body_content = yield
137
+ currently_running = _running_procs
138
+
139
+ open(GemPlugin::Manager.instance.resource("mongrel_config", "/index_win32.html")) do |f|
140
+ template = ERB.new(f.read)
141
+ self << template.result(binding)
142
+ end
143
+ end
144
+
145
+
146
+ def list
147
+ div :id=>"viewport" do
148
+ table do
149
+ tr { th { "Service"}; th { "Status"}; th { "Control" }; th { "Delete" } }
150
+ @services.each do |s|
151
+ status = W32Support.status(s.service_name)
152
+ tr {
153
+ td { a(s.service_name, :href => "/info/#{s.service_name}") }
154
+ td { status.capitalize }
155
+ td {
156
+ if status =~ /stopped/
157
+ a("start",:href => "/start/#{s.service_name}")
158
+ elsif status =~ /running/
159
+ a("stop",:href => "/stop/#{s.service_name}")
160
+ else
161
+ b { "in progress" }
162
+ end
163
+ }
164
+ td {
165
+ a("delete!",:href => "/delete/#{s.service_name}",
166
+ :onclick=>"return confirm('Delete #{s.service_name}?') == '1'")
167
+ }
168
+ }
169
+ end
170
+ end
171
+ end
172
+ end
173
+
174
+
175
+ def info
176
+ div :id=>"viewport" do
177
+ @services.each do |s|
178
+
179
+ h2 { "#{s.service_name} service information" }
180
+ table do
181
+ tr { th {"Attribute"}; th {"Value"} }
182
+
183
+ s.each_pair do |memb,obj|
184
+ name = memb.to_s.tr("_"," ").capitalize
185
+ tr {
186
+ td { b { "#{name}: " } }
187
+ td { obj.inspect }
188
+ }
189
+ end
190
+ end
191
+ end
192
+ end
193
+ end
194
+
195
+ def service_logs
196
+ h2 { "Latest Service Activity Logs" }
197
+ a("[clear logs]", :href => "/clear_logs")
198
+
199
+ div :id=>"viewport" do
200
+ pre :style=>"font-size: 10pt;" do
201
+ self << $service_logs
202
+ end
203
+ end
204
+ end
205
+
206
+ def install_form
207
+ div do
208
+ h2 { "Install New Mongrel Service" }
209
+ p { "Items with an * are mandatory. Leave an item blank to not specify it." }
210
+ form :action=>"/install", :method=>"POST" do
211
+ b { "* Service Name: "}; input :name => "service_name"; br
212
+ b { "* Root: "}; input :name => "root"; br
213
+ b { "* Environment: "}; input :name => "environment", :value => "development"; br
214
+ b { "*Address: "}; input :name => "address", :value => "0.0.0.0"; br
215
+ b { "*Port: "}; input :name => "port", :value => "4000", :size => 6; br
216
+ b { "Display Name: "}; input :name => "display_name"; br
217
+ b { "MIME Map File: "}; input :name => "mime"; br
218
+ b { "Number Processor Threads: "}; input :name => "num_procs", :size => 3; br
219
+ b { "Request Timeout: "}; input :name => "timeout", :size => 3; br
220
+ b { "Assigned CPU: " }; input :name => "cpu", :size => 2; br
221
+
222
+ p { input :type=>"submit", :value => "INSTALL" }
223
+ end
224
+ end
225
+ end
226
+
227
+
228
+ def install_result
229
+ div :id=>"viewport" do
230
+ h2 { "Install Results"}
231
+ pre do
232
+ self << @result
233
+ end
234
+ end
235
+ end
236
+
237
+ def _running_procs
238
+ running = []
239
+ W32Support.list.each {|s| running << s.service_name if s.current_state =~ /running/}
240
+ running
241
+ end
242
+
243
+ end
244
+ end
245
+
246
+
247
+
248
+
249
+
250
+
251
+
@@ -0,0 +1,68 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Mongrel Config Tool</title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
6
+ <link href="/config/resources/style.css" rel="stylesheet" type="text/css" />
7
+ </head>
8
+ <body>
9
+ <div id="container">
10
+ <div id="top">
11
+ <div id="title">Mongrel Config Tool</div>
12
+ </div>
13
+ <div id="middle">
14
+ <div id="nav">
15
+ <ul>
16
+ <% links.each do |uri,text| %>
17
+ <li><a href="<%= uri %>"><%= text %></a></li>
18
+ <%end%>
19
+ </ul>
20
+ </div>
21
+ <div id="content">
22
+ <div id="side">
23
+ <% if currently_running.length > 0 %>
24
+ <strong>Running Services</strong> <br />
25
+ <br />
26
+ <%= currently_running.join(",") %>
27
+ <% else %>
28
+ <strong>No services running.</strong><br />
29
+ <% end %>
30
+ <br /><br />
31
+ <br />
32
+ <strong>Documentation</strong><br />
33
+ <br />
34
+ <a href="http://mongrel.rubyforge.org">Mongrel Home</a> <br />
35
+ <br />
36
+
37
+ <a href="http://mongrel.rubyforge.org/news.html">News</a><br />
38
+ <br />
39
+
40
+ <a href="http://mongrel.rubyforge.org/docs/started.html">Getting Started</a> <br />
41
+ <br />
42
+
43
+ <a href="http://mongrel.rubyforge.org/docs/win32.html">Win32 Guide</a><br />
44
+ <br />
45
+
46
+ <a href="http://mongrel.rubyforge.org/docs/lighttpd.html">Lighttpd Guide</a><br />
47
+ <br />
48
+
49
+ <a href="http://mongrel.rubyforge.org/rdoc/index.html">Mongrel API</a><br />
50
+ <br />
51
+
52
+ <a href="http://api.rubyonrails.org/">Ruby On Rails API</a><br />
53
+ <br />
54
+
55
+ <br /><br />
56
+ </div>
57
+
58
+ <%= body_content %>
59
+
60
+ </div>
61
+ </div>
62
+ </div>
63
+
64
+ <div id="bottom">&nbsp;</div>
65
+
66
+ <div id="footertext">Copyright 2006 &copy; Zed A. Shaw &nbsp; | &nbsp; Design by Kenneth Barbour.</div>
67
+ </body>
68
+ </html>
data/resources/style.css CHANGED
@@ -6,7 +6,6 @@ body {
6
6
  background-position: top;
7
7
  font-family: "Lucida Grande", Verdana, Halvetica, sans-serif;
8
8
  text-align: center;
9
-
10
9
  }
11
10
  a:hover {
12
11
  color: #990000;
@@ -148,6 +147,12 @@ a {
148
147
  text-decoration: underline;
149
148
  }
150
149
 
150
+ b { font-size: 10pt; }
151
+
152
+ #viewport {
153
+ overflow: auto; width: 400px; height: 320px;
154
+ }
155
+
151
156
  table {
152
157
  border-collapse: collapsed;
153
158
  }
data/test/test_config.rb CHANGED
@@ -1,7 +1,53 @@
1
1
  require 'test/unit'
2
+ require 'mongrel_config/init'
3
+
4
+ class CommandTest < Test::Unit::TestCase
5
+ def setup
6
+ @pmgr = GemPlugin::Manager.instance
7
+ end
8
+
9
+ def test_command_loaded
10
+ assert @pmgr.create("/commands/configtool", "configtool not loaded")
11
+ end
12
+
13
+ end
14
+
15
+
16
+ # these are only run if we're running on windows
17
+ if RUBY_PLATFORM =~ /mswin/
18
+ require 'mongrel_config/win32'
19
+
20
+ class Win32Test < Test::Unit::TestCase
21
+
22
+ def test_list
23
+ svcs = W32Support.list
24
+ assert svcs.length > 0, "No services returned. Make sure you have one mongrel installed."
25
+ end
26
+
27
+ def test_display_name
28
+ svcs = W32Support.list
29
+ svcs.each { |s| W32Support.display(s.service_name) }
30
+ end
31
+
32
+ def test_start_stop
33
+ svcs = W32Support.list
34
+ svcs.each { |s|
35
+ puts "Starting #{W32Support.display(s.service_name)} (might take a while)"
36
+ i = 1
37
+ W32Support.start(s.service_name) do |status|
38
+ print "Starting #{s.service_name}: #{status} (#{i} seconds)\r"
39
+ sleep 1
40
+ i += 1
41
+ end
42
+
43
+ W32Support.stop(s.service_name) do |status|
44
+ puts "Stopping #{s.service_name}: #{status}"
45
+ sleep 1
46
+ end
47
+ }
48
+ end
2
49
 
3
- class EmptyTest < Test::Unit::TestCase
4
- def test_nothing
5
50
  end
6
51
  end
7
52
 
53
+
data/tools/rakehelp.rb CHANGED
@@ -93,7 +93,8 @@ def setup_gem(pkg_name, pkg_version)
93
93
 
94
94
  Rake::GemPackageTask.new(spec) do |p|
95
95
  p.gem_spec = spec
96
- p.need_tar = true
96
+ # win32 chokes on this
97
+ p.need_tar = true if RUBY_PLATFORM !~ /mswin/
97
98
  end
98
99
  end
99
100
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: mongrel_config
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.2.1
7
- date: 2006-03-12 00:00:00 -05:00
6
+ version: "0.3"
7
+ date: 2006-03-15 00:00:00 -05:00
8
8
  summary: Mongrel plugin that gives you web based config tool using Camping
9
9
  require_paths:
10
10
  - lib
@@ -32,14 +32,105 @@ files:
32
32
  - LICENSE
33
33
  - README
34
34
  - Rakefile
35
+ - doc/rdoc/classes
36
+ - doc/rdoc/created.rid
37
+ - doc/rdoc/files
38
+ - doc/rdoc/fr_class_index.html
39
+ - doc/rdoc/fr_file_index.html
40
+ - doc/rdoc/fr_method_index.html
41
+ - doc/rdoc/index.html
42
+ - doc/rdoc/rdoc-style.css
43
+ - doc/rdoc/classes/ConfigTool.html
44
+ - doc/rdoc/classes/ConfigTool.src
45
+ - doc/rdoc/classes/Configure
46
+ - doc/rdoc/classes/Configure.html
47
+ - doc/rdoc/classes/W32Support.html
48
+ - doc/rdoc/classes/W32Support.src
49
+ - doc/rdoc/classes/ConfigTool.src/M000001.html
50
+ - doc/rdoc/classes/ConfigTool.src/M000002.html
51
+ - doc/rdoc/classes/ConfigTool.src/M000003.html
52
+ - doc/rdoc/classes/Configure/Controllers
53
+ - doc/rdoc/classes/Configure/Controllers.html
54
+ - doc/rdoc/classes/Configure/Views.html
55
+ - doc/rdoc/classes/Configure/Views.src
56
+ - doc/rdoc/classes/Configure/Controllers/ClearLogs.html
57
+ - doc/rdoc/classes/Configure/Controllers/ClearLogs.src
58
+ - doc/rdoc/classes/Configure/Controllers/Delete.html
59
+ - doc/rdoc/classes/Configure/Controllers/Delete.src
60
+ - doc/rdoc/classes/Configure/Controllers/Index.html
61
+ - doc/rdoc/classes/Configure/Controllers/Index.src
62
+ - doc/rdoc/classes/Configure/Controllers/Info.html
63
+ - doc/rdoc/classes/Configure/Controllers/Info.src
64
+ - doc/rdoc/classes/Configure/Controllers/Install.html
65
+ - doc/rdoc/classes/Configure/Controllers/Install.src
66
+ - doc/rdoc/classes/Configure/Controllers/Kill.html
67
+ - doc/rdoc/classes/Configure/Controllers/Kill.src
68
+ - doc/rdoc/classes/Configure/Controllers/Logs.html
69
+ - doc/rdoc/classes/Configure/Controllers/Logs.src
70
+ - doc/rdoc/classes/Configure/Controllers/Start.html
71
+ - doc/rdoc/classes/Configure/Controllers/Start.src
72
+ - doc/rdoc/classes/Configure/Controllers/Stop.html
73
+ - doc/rdoc/classes/Configure/Controllers/Stop.src
74
+ - doc/rdoc/classes/Configure/Controllers/ClearLogs.src/M000043.html
75
+ - doc/rdoc/classes/Configure/Controllers/Delete.src/M000036.html
76
+ - doc/rdoc/classes/Configure/Controllers/Index.src/M000027.html
77
+ - doc/rdoc/classes/Configure/Controllers/Index.src/M000028.html
78
+ - doc/rdoc/classes/Configure/Controllers/Info.src/M000035.html
79
+ - doc/rdoc/classes/Configure/Controllers/Install.src/M000039.html
80
+ - doc/rdoc/classes/Configure/Controllers/Install.src/M000040.html
81
+ - doc/rdoc/classes/Configure/Controllers/Install.src/M000041.html
82
+ - doc/rdoc/classes/Configure/Controllers/Install.src/M000042.html
83
+ - doc/rdoc/classes/Configure/Controllers/Kill.src/M000029.html
84
+ - doc/rdoc/classes/Configure/Controllers/Logs.src/M000037.html
85
+ - doc/rdoc/classes/Configure/Controllers/Logs.src/M000038.html
86
+ - doc/rdoc/classes/Configure/Controllers/Start.src/M000032.html
87
+ - doc/rdoc/classes/Configure/Controllers/Start.src/M000033.html
88
+ - doc/rdoc/classes/Configure/Controllers/Start.src/M000034.html
89
+ - doc/rdoc/classes/Configure/Controllers/Stop.src/M000030.html
90
+ - doc/rdoc/classes/Configure/Controllers/Stop.src/M000031.html
91
+ - doc/rdoc/classes/Configure/Views.src/M000011.html
92
+ - doc/rdoc/classes/Configure/Views.src/M000012.html
93
+ - doc/rdoc/classes/Configure/Views.src/M000013.html
94
+ - doc/rdoc/classes/Configure/Views.src/M000014.html
95
+ - doc/rdoc/classes/Configure/Views.src/M000015.html
96
+ - doc/rdoc/classes/Configure/Views.src/M000016.html
97
+ - doc/rdoc/classes/Configure/Views.src/M000017.html
98
+ - doc/rdoc/classes/Configure/Views.src/M000018.html
99
+ - doc/rdoc/classes/Configure/Views.src/M000019.html
100
+ - doc/rdoc/classes/Configure/Views.src/M000020.html
101
+ - doc/rdoc/classes/Configure/Views.src/M000021.html
102
+ - doc/rdoc/classes/Configure/Views.src/M000022.html
103
+ - doc/rdoc/classes/Configure/Views.src/M000023.html
104
+ - doc/rdoc/classes/Configure/Views.src/M000024.html
105
+ - doc/rdoc/classes/Configure/Views.src/M000025.html
106
+ - doc/rdoc/classes/Configure/Views.src/M000026.html
107
+ - doc/rdoc/classes/W32Support.src/M000004.html
108
+ - doc/rdoc/classes/W32Support.src/M000005.html
109
+ - doc/rdoc/classes/W32Support.src/M000006.html
110
+ - doc/rdoc/classes/W32Support.src/M000007.html
111
+ - doc/rdoc/classes/W32Support.src/M000008.html
112
+ - doc/rdoc/classes/W32Support.src/M000009.html
113
+ - doc/rdoc/classes/W32Support.src/M000010.html
114
+ - doc/rdoc/files/COPYING.html
115
+ - doc/rdoc/files/lib
116
+ - doc/rdoc/files/LICENSE.html
117
+ - doc/rdoc/files/README.html
118
+ - doc/rdoc/files/lib/mongrel_config
119
+ - doc/rdoc/files/lib/mongrel_config/app_rb.html
120
+ - doc/rdoc/files/lib/mongrel_config/init_rb.html
121
+ - doc/rdoc/files/lib/mongrel_config/win32_app_rb.html
122
+ - doc/rdoc/files/lib/mongrel_config/win32_rb.html
35
123
  - test/test_config.rb
36
124
  - lib/mongrel_config
37
125
  - lib/mongrel_config/app.rb
38
126
  - lib/mongrel_config/init.rb
127
+ - lib/mongrel_config/win32.rb
128
+ - lib/mongrel_config/win32_app.rb
39
129
  - tools/rakehelp.rb
40
130
  - resources/defaults.yaml
41
131
  - resources/images
42
132
  - resources/index.html
133
+ - resources/index_win32.html
43
134
  - resources/style.css
44
135
  - resources/images/0170_bubble.png
45
136
  - resources/images/0171_new_page.png
@@ -68,7 +159,7 @@ dependencies:
68
159
  requirements:
69
160
  - - ">="
70
161
  - !ruby/object:Gem::Version
71
- version: 0.3.10.1
162
+ version: 0.3.11
72
163
  version:
73
164
  - !ruby/object:Gem::Dependency
74
165
  name: gem_plugin
@@ -77,7 +168,7 @@ dependencies:
77
168
  requirements:
78
169
  - - ">="
79
170
  - !ruby/object:Gem::Version
80
- version: "0.2"
171
+ version: 0.2.1
81
172
  version:
82
173
  - !ruby/object:Gem::Dependency
83
174
  name: camping