colouringcode-passenger 0.1 → 0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. data/NEWS +129 -0
  2. data/Rakefile +2 -2
  3. data/bin/passenger-install-apache2-module +1 -0
  4. data/bin/passenger-install-nginx-module +4 -2
  5. data/ext/apache2/Hooks.cpp +4 -2
  6. data/ext/common/ApplicationPoolServer.h +1 -1
  7. data/ext/common/ApplicationPoolServerExecutable.cpp +1 -1
  8. data/ext/common/MessageChannel.h +48 -4
  9. data/ext/common/StandardApplicationPool.h +4 -2
  10. data/ext/common/Version.h +1 -1
  11. data/ext/nginx/Configuration.c +1 -1
  12. data/ext/nginx/HttpStatusExtractor.h +1 -0
  13. data/ext/nginx/ScgiRequestParser.h +1 -0
  14. data/ext/oxt/system_calls.cpp +11 -0
  15. data/ext/oxt/system_calls.hpp +2 -1
  16. data/ext/oxt/thread.hpp +97 -1
  17. data/ext/phusion_passenger/native_support.c +30 -1
  18. data/lib/phusion_passenger/constants.rb +1 -1
  19. data/lib/phusion_passenger/dependencies.rb +32 -0
  20. data/lib/phusion_passenger/message_channel.rb +45 -3
  21. data/lib/phusion_passenger/platform_info.rb +1 -1
  22. data/lib/phusion_passenger/rack/application_spawner.rb +10 -4
  23. data/lib/phusion_passenger/rack/request_handler.rb +2 -5
  24. data/lib/phusion_passenger/railz/application_spawner.rb +59 -7
  25. data/lib/phusion_passenger/utils.rb +70 -16
  26. data/{vendor/rack-1.0.0-git/lib/rack → lib/phusion_passenger/utils}/rewindable_input.rb +34 -9
  27. data/test/ApplicationPoolTest.cpp +1 -1
  28. data/test/MessageChannelTest.cpp +9 -1
  29. data/test/stub/message_channel.rb +1 -1
  30. data/test/stub/message_channel_2.rb +1 -1
  31. data/test/stub/message_channel_3.rb +2 -2
  32. metadata +43 -155
  33. data/doc/Architectural overview.html +0 -1
  34. data/doc/rdoc/classes/ConditionVariable.html +0 -194
  35. data/doc/rdoc/classes/Exception.html +0 -120
  36. data/doc/rdoc/classes/GC.html +0 -113
  37. data/doc/rdoc/classes/IO.html +0 -169
  38. data/doc/rdoc/classes/PhusionPassenger.html +0 -238
  39. data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -153
  40. data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -517
  41. data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -719
  42. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
  43. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
  44. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
  45. data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
  46. data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -598
  47. data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -140
  48. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess.html +0 -317
  49. data/doc/rdoc/classes/PhusionPassenger/AdminTools/ControlProcess/Instance.html +0 -138
  50. data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -154
  51. data/doc/rdoc/classes/PhusionPassenger/Application.html +0 -283
  52. data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
  53. data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
  54. data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -181
  55. data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
  56. data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
  57. data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -489
  58. data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +0 -350
  59. data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
  60. data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -188
  61. data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -199
  62. data/doc/rdoc/classes/PhusionPassenger/Railz.html +0 -95
  63. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner.html +0 -438
  64. data/doc/rdoc/classes/PhusionPassenger/Railz/ApplicationSpawner/Error.html +0 -98
  65. data/doc/rdoc/classes/PhusionPassenger/Railz/CGIFixed.html +0 -200
  66. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner.html +0 -436
  67. data/doc/rdoc/classes/PhusionPassenger/Railz/FrameworkSpawner/Error.html +0 -98
  68. data/doc/rdoc/classes/PhusionPassenger/Railz/RequestHandler.html +0 -155
  69. data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -402
  70. data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
  71. data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -803
  72. data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
  73. data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
  74. data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
  75. data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -188
  76. data/doc/rdoc/classes/PlatformInfo.html +0 -866
  77. data/doc/rdoc/classes/RakeExtensions.html +0 -197
  78. data/doc/rdoc/classes/Signal.html +0 -131
  79. data/doc/rdoc/created.rid +0 -1
  80. data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -255
  81. data/doc/rdoc/files/README.html +0 -175
  82. data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +0 -92
  83. data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -129
  84. data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -129
  85. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
  86. data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
  87. data/doc/rdoc/files/lib/phusion_passenger/admin_tools/control_process_rb.html +0 -130
  88. data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
  89. data/doc/rdoc/files/lib/phusion_passenger/application_rb.html +0 -127
  90. data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
  91. data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
  92. data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -134
  93. data/doc/rdoc/files/lib/phusion_passenger/events_rb.html +0 -122
  94. data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
  95. data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -126
  96. data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
  97. data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
  98. data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -127
  99. data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -133
  100. data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
  101. data/doc/rdoc/files/lib/phusion_passenger/railz/application_spawner_rb.html +0 -140
  102. data/doc/rdoc/files/lib/phusion_passenger/railz/cgi_fixed_rb.html +0 -126
  103. data/doc/rdoc/files/lib/phusion_passenger/railz/framework_spawner_rb.html +0 -145
  104. data/doc/rdoc/files/lib/phusion_passenger/railz/request_handler_rb.html +0 -125
  105. data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
  106. data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -159
  107. data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -174
  108. data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -129
  109. data/doc/rdoc/files/misc/rake/extensions_rb.html +0 -130
  110. data/doc/rdoc/fr_class_index.html +0 -91
  111. data/doc/rdoc/fr_file_index.html +0 -76
  112. data/doc/rdoc/fr_method_index.html +0 -205
  113. data/doc/rdoc/index.html +0 -26
  114. data/doc/rdoc/rdoc-style.css +0 -187
  115. data/vendor/README +0 -13
  116. data/vendor/README_FOR_PACKAGERS +0 -1
  117. data/vendor/rack-1.0.0-git/COPYING +0 -18
  118. data/vendor/rack-1.0.0-git/KNOWN-ISSUES +0 -18
  119. data/vendor/rack-1.0.0-git/README +0 -353
  120. data/vendor/rack-1.0.0-git/Rakefile +0 -164
  121. data/vendor/rack-1.0.0-git/lib/rack.rb +0 -90
  122. data/vendor/rack-1.0.0-git/lib/rack/adapter/camping.rb +0 -22
  123. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/handler.rb +0 -37
  124. data/vendor/rack-1.0.0-git/lib/rack/auth/abstract/request.rb +0 -37
  125. data/vendor/rack-1.0.0-git/lib/rack/auth/basic.rb +0 -58
  126. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/md5.rb +0 -124
  127. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/nonce.rb +0 -51
  128. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/params.rb +0 -55
  129. data/vendor/rack-1.0.0-git/lib/rack/auth/digest/request.rb +0 -40
  130. data/vendor/rack-1.0.0-git/lib/rack/auth/openid.rb +0 -487
  131. data/vendor/rack-1.0.0-git/lib/rack/builder.rb +0 -63
  132. data/vendor/rack-1.0.0-git/lib/rack/cascade.rb +0 -41
  133. data/vendor/rack-1.0.0-git/lib/rack/chunked.rb +0 -49
  134. data/vendor/rack-1.0.0-git/lib/rack/commonlogger.rb +0 -52
  135. data/vendor/rack-1.0.0-git/lib/rack/conditionalget.rb +0 -47
  136. data/vendor/rack-1.0.0-git/lib/rack/content_length.rb +0 -29
  137. data/vendor/rack-1.0.0-git/lib/rack/content_type.rb +0 -23
  138. data/vendor/rack-1.0.0-git/lib/rack/deflater.rb +0 -96
  139. data/vendor/rack-1.0.0-git/lib/rack/directory.rb +0 -153
  140. data/vendor/rack-1.0.0-git/lib/rack/file.rb +0 -88
  141. data/vendor/rack-1.0.0-git/lib/rack/handler.rb +0 -69
  142. data/vendor/rack-1.0.0-git/lib/rack/handler/cgi.rb +0 -61
  143. data/vendor/rack-1.0.0-git/lib/rack/handler/evented_mongrel.rb +0 -8
  144. data/vendor/rack-1.0.0-git/lib/rack/handler/fastcgi.rb +0 -88
  145. data/vendor/rack-1.0.0-git/lib/rack/handler/lsws.rb +0 -55
  146. data/vendor/rack-1.0.0-git/lib/rack/handler/mongrel.rb +0 -84
  147. data/vendor/rack-1.0.0-git/lib/rack/handler/scgi.rb +0 -59
  148. data/vendor/rack-1.0.0-git/lib/rack/handler/swiftiplied_mongrel.rb +0 -8
  149. data/vendor/rack-1.0.0-git/lib/rack/handler/thin.rb +0 -18
  150. data/vendor/rack-1.0.0-git/lib/rack/handler/webrick.rb +0 -67
  151. data/vendor/rack-1.0.0-git/lib/rack/head.rb +0 -19
  152. data/vendor/rack-1.0.0-git/lib/rack/lint.rb +0 -537
  153. data/vendor/rack-1.0.0-git/lib/rack/lobster.rb +0 -65
  154. data/vendor/rack-1.0.0-git/lib/rack/lock.rb +0 -16
  155. data/vendor/rack-1.0.0-git/lib/rack/methodoverride.rb +0 -27
  156. data/vendor/rack-1.0.0-git/lib/rack/mime.rb +0 -204
  157. data/vendor/rack-1.0.0-git/lib/rack/mock.rb +0 -184
  158. data/vendor/rack-1.0.0-git/lib/rack/recursive.rb +0 -57
  159. data/vendor/rack-1.0.0-git/lib/rack/reloader.rb +0 -106
  160. data/vendor/rack-1.0.0-git/lib/rack/request.rb +0 -248
  161. data/vendor/rack-1.0.0-git/lib/rack/response.rb +0 -183
  162. data/vendor/rack-1.0.0-git/lib/rack/session/abstract/id.rb +0 -142
  163. data/vendor/rack-1.0.0-git/lib/rack/session/cookie.rb +0 -91
  164. data/vendor/rack-1.0.0-git/lib/rack/session/memcache.rb +0 -109
  165. data/vendor/rack-1.0.0-git/lib/rack/session/pool.rb +0 -100
  166. data/vendor/rack-1.0.0-git/lib/rack/showexceptions.rb +0 -349
  167. data/vendor/rack-1.0.0-git/lib/rack/showstatus.rb +0 -106
  168. data/vendor/rack-1.0.0-git/lib/rack/static.rb +0 -38
  169. data/vendor/rack-1.0.0-git/lib/rack/urlmap.rb +0 -55
  170. data/vendor/rack-1.0.0-git/lib/rack/utils.rb +0 -522
@@ -1,138 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html>
6
- <head>
7
- <title>Class: PhusionPassenger::AdminTools::ControlProcess::Instance</title>
8
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
- <link rel="stylesheet" href="../../../.././rdoc-style.css" type="text/css" media="screen" />
10
-
11
- <script language="JavaScript" type="text/javascript">
12
- // <![CDATA[
13
-
14
- function toggleSource( id )
15
- {
16
- var elem
17
- var link
18
-
19
- if( document.getElementById )
20
- {
21
- elem = document.getElementById( id )
22
- link = document.getElementById( "l_" + id )
23
- }
24
- else if ( document.all )
25
- {
26
- elem = eval( "document.all." + id )
27
- link = eval( "document.all.l_" + id )
28
- }
29
- else
30
- return false;
31
-
32
- if( elem.style.display == "block" )
33
- {
34
- elem.style.display = "none"
35
- link.innerHTML = "show source"
36
- }
37
- else
38
- {
39
- elem.style.display = "block"
40
- link.innerHTML = "hide source"
41
- }
42
- }
43
-
44
- function openCode( url )
45
- {
46
- window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
- }
48
- // ]]>
49
- </script>
50
- </head>
51
-
52
- <body>
53
- <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
- <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::AdminTools::ControlProcess::Instance</td>
55
- <td align="right">
56
- <table cellspacing="0" cellpadding="2">
57
- <tr valign="top">
58
- <td>In:</td>
59
- <td>
60
- <a href="../../../../files/lib/phusion_passenger/admin_tools/control_process_rb.html">lib/phusion_passenger/admin_tools/control_process.rb</a>
61
- </td>
62
- </tr>
63
- <tr>
64
- <td>Parent:</td>
65
- <td>
66
- Object
67
- </td>
68
- </tr>
69
- </table>
70
- </td>
71
- </tr>
72
- </table>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
- <div id="content">
77
-
78
-
79
-
80
-
81
-
82
-
83
-
84
-
85
- <div class="sectiontitle">Constants</div>
86
- <table border='0' cellpadding='5'>
87
- <tr valign='top'>
88
- <td class="attr-name">INT_PROPERTIES</td>
89
- <td>=</td>
90
- <td class="attr-value">[:pid, :sessions]</td>
91
- </tr>
92
- </table>
93
-
94
- <div class="sectiontitle">Attributes</div>
95
- <table border='0' cellpadding='5'>
96
- <tr valign='top'>
97
- <td class='attr-rw'>
98
- [RW]
99
- </td>
100
- <td class='attr-name'>pid</td>
101
- <td class='attr-desc'></td>
102
- </tr>
103
- <tr valign='top'>
104
- <td class='attr-rw'>
105
- [RW]
106
- </td>
107
- <td class='attr-name'>sessions</td>
108
- <td class='attr-desc'></td>
109
- </tr>
110
- <tr valign='top'>
111
- <td class='attr-rw'>
112
- [RW]
113
- </td>
114
- <td class='attr-name'>socket_name</td>
115
- <td class='attr-desc'></td>
116
- </tr>
117
- <tr valign='top'>
118
- <td class='attr-rw'>
119
- [RW]
120
- </td>
121
- <td class='attr-name'>socket_type</td>
122
- <td class='attr-desc'></td>
123
- </tr>
124
- <tr valign='top'>
125
- <td class='attr-rw'>
126
- [RW]
127
- </td>
128
- <td class='attr-name'>uptime</td>
129
- <td class='attr-desc'></td>
130
- </tr>
131
- </table>
132
-
133
- </div>
134
-
135
- </div>
136
-
137
- </body>
138
- </html>
@@ -1,154 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html>
6
- <head>
7
- <title>Class: PhusionPassenger::AppInitError</title>
8
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
-
11
- <script language="JavaScript" type="text/javascript">
12
- // <![CDATA[
13
-
14
- function toggleSource( id )
15
- {
16
- var elem
17
- var link
18
-
19
- if( document.getElementById )
20
- {
21
- elem = document.getElementById( id )
22
- link = document.getElementById( "l_" + id )
23
- }
24
- else if ( document.all )
25
- {
26
- elem = eval( "document.all." + id )
27
- link = eval( "document.all.l_" + id )
28
- }
29
- else
30
- return false;
31
-
32
- if( elem.style.display == "block" )
33
- {
34
- elem.style.display = "none"
35
- link.innerHTML = "show source"
36
- }
37
- else
38
- {
39
- elem.style.display = "block"
40
- link.innerHTML = "hide source"
41
- }
42
- }
43
-
44
- function openCode( url )
45
- {
46
- window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
- }
48
- // ]]>
49
- </script>
50
- </head>
51
-
52
- <body>
53
- <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
- <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::AppInitError</td>
55
- <td align="right">
56
- <table cellspacing="0" cellpadding="2">
57
- <tr valign="top">
58
- <td>In:</td>
59
- <td>
60
- <a href="../../files/lib/phusion_passenger/exceptions_rb.html">lib/phusion_passenger/exceptions.rb</a>
61
- </td>
62
- </tr>
63
- <tr>
64
- <td>Parent:</td>
65
- <td>
66
- <a href="InitializationError.html">
67
- InitializationError
68
- </a>
69
- </td>
70
- </tr>
71
- </table>
72
- </td>
73
- </tr>
74
- </table>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
- <div id="content">
79
-
80
- <div class="description"><p>
81
- Raised when <a
82
- href="Rack/ApplicationSpawner.html">Rack::ApplicationSpawner</a>, <a
83
- href="Railz/ApplicationSpawner.html">Railz::ApplicationSpawner</a>, <a
84
- href="Railz/FrameworkSpawner.html">Railz::FrameworkSpawner</a> or <a
85
- href="SpawnManager.html">SpawnManager</a> was unable to spawn an
86
- application, because the application either threw an exception or called
87
- exit.
88
- </p>
89
- <p>
90
- If the application called exit, then <tt>child_exception</tt> is an
91
- instance of <tt>SystemExit</tt>.
92
- </p>
93
- </div>
94
-
95
-
96
-
97
- <div class="sectiontitle">Methods</div>
98
- <ul>
99
- <li><a href="#M000099">new</a></li>
100
- </ul>
101
-
102
-
103
-
104
-
105
-
106
- <div class="sectiontitle">Attributes</div>
107
- <table border='0' cellpadding='5'>
108
- <tr valign='top'>
109
- <td class='attr-rw'>
110
- [RW]
111
- </td>
112
- <td class='attr-name'>app_type</td>
113
- <td class='attr-desc'>
114
- The application type, e.g. &quot;rails&quot; or &quot;rack&quot;.
115
-
116
- </td>
117
- </tr>
118
- <tr valign='top'>
119
- <td class='attr-rw'>
120
- [RW]
121
- </td>
122
- <td class='attr-name'>stderr</td>
123
- <td class='attr-desc'>
124
- Any messages printed to stderr before the failure. May be nil.
125
-
126
- </td>
127
- </tr>
128
- </table>
129
-
130
- <div class="sectiontitle">Public Class methods</div>
131
- <div class="method">
132
- <div class="title">
133
- <a name="M000099"></a><b>new</b>(message, child_exception = nil, app_type = &quot;rails&quot;, stderr = nil)
134
- </div>
135
- <div class="sourcecode">
136
- <p class="source-link">[ <a href="javascript:toggleSource('M000099_source')" id="l_M000099_source">show source</a> ]</p>
137
- <div id="M000099_source" class="dyn-source">
138
- <pre>
139
- <span class="ruby-comment cmt"># File lib/phusion_passenger/exceptions.rb, line 66</span>
140
- 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">child_exception</span> = <span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">app_type</span> = <span class="ruby-value str">&quot;rails&quot;</span>, <span class="ruby-identifier">stderr</span> = <span class="ruby-keyword kw">nil</span>)
141
- 67: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">message</span>, <span class="ruby-identifier">child_exception</span>)
142
- 68: <span class="ruby-ivar">@app_type</span> = <span class="ruby-identifier">app_type</span>
143
- 69: <span class="ruby-ivar">@stderr</span> = <span class="ruby-identifier">stderr</span>
144
- 70: <span class="ruby-keyword kw">end</span>
145
- </pre>
146
- </div>
147
- </div>
148
- </div>
149
- </div>
150
-
151
- </div>
152
-
153
- </body>
154
- </html>
@@ -1,283 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
- <html>
6
- <head>
7
- <title>Class: PhusionPassenger::Application</title>
8
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
9
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
10
-
11
- <script language="JavaScript" type="text/javascript">
12
- // <![CDATA[
13
-
14
- function toggleSource( id )
15
- {
16
- var elem
17
- var link
18
-
19
- if( document.getElementById )
20
- {
21
- elem = document.getElementById( id )
22
- link = document.getElementById( "l_" + id )
23
- }
24
- else if ( document.all )
25
- {
26
- elem = eval( "document.all." + id )
27
- link = eval( "document.all.l_" + id )
28
- }
29
- else
30
- return false;
31
-
32
- if( elem.style.display == "block" )
33
- {
34
- elem.style.display = "none"
35
- link.innerHTML = "show source"
36
- }
37
- else
38
- {
39
- elem.style.display = "block"
40
- link.innerHTML = "hide source"
41
- }
42
- }
43
-
44
- function openCode( url )
45
- {
46
- window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus();
47
- }
48
- // ]]>
49
- </script>
50
- </head>
51
-
52
- <body>
53
- <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr>
54
- <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::Application</td>
55
- <td align="right">
56
- <table cellspacing="0" cellpadding="2">
57
- <tr valign="top">
58
- <td>In:</td>
59
- <td>
60
- <a href="../../files/lib/phusion_passenger/application_rb.html">lib/phusion_passenger/application.rb</a>
61
- </td>
62
- </tr>
63
- <tr>
64
- <td>Parent:</td>
65
- <td>
66
- Object
67
- </td>
68
- </tr>
69
- </table>
70
- </td>
71
- </tr>
72
- </table>
73
- <!-- banner header -->
74
-
75
- <div id="bodyContent">
76
- <div id="content">
77
-
78
- <div class="description"><p>
79
- Represents a single application instance.
80
- </p>
81
- </div>
82
-
83
-
84
-
85
- <div class="sectiontitle">Methods</div>
86
- <ul>
87
- <li><a href="#M000103">close</a></li>
88
- <li><a href="#M000101">detect_framework_version</a></li>
89
- <li><a href="#M000102">new</a></li>
90
- </ul>
91
-
92
-
93
-
94
-
95
-
96
- <div class="sectiontitle">Attributes</div>
97
- <table border='0' cellpadding='5'>
98
- <tr valign='top'>
99
- <td class='attr-rw'>
100
- [R]
101
- </td>
102
- <td class='attr-name'>app_root</td>
103
- <td class='attr-desc'>
104
- The root directory of this application, i.e. the directory that contains
105
- &#8216;app/&#8217;, &#8216;public/&#8217;, etc.
106
-
107
- </td>
108
- </tr>
109
- <tr valign='top'>
110
- <td class='attr-rw'>
111
- [R]
112
- </td>
113
- <td class='attr-name'>listen_socket_name</td>
114
- <td class='attr-desc'>
115
- The name of the socket on which the application instance will accept <a
116
- href="Application.html#M000102">new</a> connections. See
117
- #listen_socket_type on how one should interpret this value.
118
-
119
- </td>
120
- </tr>
121
- <tr valign='top'>
122
- <td class='attr-rw'>
123
- [R]
124
- </td>
125
- <td class='attr-name'>listen_socket_type</td>
126
- <td class='attr-desc'>
127
- The type of socket that #listen_socket_name refers to. Currently this is
128
- always &#8216;unix&#8217;, which means that #listen_socket_name refers to
129
- the filename of a Unix domain socket.
130
-
131
- </td>
132
- </tr>
133
- <tr valign='top'>
134
- <td class='attr-rw'>
135
- [R]
136
- </td>
137
- <td class='attr-name'>owner_pipe</td>
138
- <td class='attr-desc'>
139
- The owner pipe of the application instance (an <a href="../IO.html">IO</a>
140
- object). Please see RequestHandler for a description of the owner pipe.
141
-
142
- </td>
143
- </tr>
144
- <tr valign='top'>
145
- <td class='attr-rw'>
146
- [R]
147
- </td>
148
- <td class='attr-name'>pid</td>
149
- <td class='attr-desc'>
150
- The process ID of this application instance.
151
-
152
- </td>
153
- </tr>
154
- </table>
155
-
156
- <div class="sectiontitle">Public Class methods</div>
157
- <div class="method">
158
- <div class="title">
159
- <a name="M000101"></a><b>detect_framework_version</b>(app_root)
160
- </div>
161
- <div class="description">
162
- <ul>
163
- <li>Returns the Ruby on Rails version that the application requires.
164
-
165
- </li>
166
- <li>Returns <tt>:vendor</tt> if the application has a vendored Rails.
167
-
168
- </li>
169
- <li>Returns nil if the application doesn&#8216;t specify a particular version.
170
-
171
- </li>
172
- </ul>
173
- <p>
174
- Raises <a href="VersionNotFound.html">VersionNotFound</a> if the required
175
- Rails version is not installed.
176
- </p>
177
- </div>
178
- <div class="sourcecode">
179
- <p class="source-link">[ <a href="javascript:toggleSource('M000101_source')" id="l_M000101_source">show source</a> ]</p>
180
- <div id="M000101_source" class="dyn-source">
181
- <pre>
182
- <span class="ruby-comment cmt"># File lib/phusion_passenger/application.rb, line 55</span>
183
- 55: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">detect_framework_version</span>(<span class="ruby-identifier">app_root</span>)
184
- 56: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-node">&quot;#{app_root}/vendor/rails/railties&quot;</span>)
185
- 57: <span class="ruby-comment cmt"># NOTE: We must check for 'rails/railties' and not just 'rails'.</span>
186
- 58: <span class="ruby-comment cmt"># Typo's vendor directory contains an empty 'rails' directory.</span>
187
- 59: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">:vendor</span>
188
- 60: <span class="ruby-keyword kw">end</span>
189
- 61:
190
- 62: <span class="ruby-identifier">environment_rb</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-node">&quot;#{app_root}/config/environment.rb&quot;</span>)
191
- 63: <span class="ruby-identifier">environment_rb</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^[^#]*RAILS_GEM_VERSION\s*=\s*[&quot;']([!~&lt;&gt;=]*\s*[\d.]+)[&quot;']/</span>
192
- 64: <span class="ruby-identifier">gem_version_spec</span> = <span class="ruby-identifier">$1</span>
193
- 65: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_version_spec</span>.<span class="ruby-identifier">nil?</span>
194
- 66: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span>
195
- 67: <span class="ruby-keyword kw">end</span>
196
- 68:
197
- 69: <span class="ruby-identifier">search_results</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">cache</span>.<span class="ruby-identifier">search</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'rails'</span>, <span class="ruby-identifier">gem_version_spec</span>), <span class="ruby-keyword kw">true</span>)
198
- 70: <span class="ruby-identifier">found_version</span> = <span class="ruby-identifier">search_results</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
199
- 71: <span class="ruby-identifier">x</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">version</span>
200
- 72: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">last</span>
201
- 73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">found_version</span>.<span class="ruby-identifier">nil?</span>
202
- 74: <span class="ruby-comment cmt"># If this error was reported before, then the cache might be out of</span>
203
- 75: <span class="ruby-comment cmt"># date because the Rails version may have been installed now.</span>
204
- 76: <span class="ruby-comment cmt"># So we reload the RubyGems cache and try again.</span>
205
- 77: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">clear_paths</span>
206
- 78: <span class="ruby-identifier">search_results</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">cache</span>.<span class="ruby-identifier">search</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'rails'</span>, <span class="ruby-identifier">gem_version_spec</span>), <span class="ruby-keyword kw">true</span>)
207
- 79: <span class="ruby-identifier">found_version</span> = <span class="ruby-identifier">search_results</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
208
- 80: <span class="ruby-identifier">x</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">version</span>
209
- 81: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">last</span>
210
- 82: <span class="ruby-keyword kw">end</span>
211
- 83:
212
- 84: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">found_version</span>.<span class="ruby-identifier">nil?</span>
213
- 85: <span class="ruby-identifier">raise</span> <span class="ruby-constant">VersionNotFound</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;There is no Ruby on Rails version &quot;</span> <span class="ruby-operator">&lt;&lt;</span>
214
- 86: <span class="ruby-node">&quot;installed that matches version \&quot;#{gem_version_spec}\&quot;&quot;</span>,
215
- 87: <span class="ruby-identifier">gem_version_spec</span>)
216
- 88: <span class="ruby-keyword kw">else</span>
217
- 89: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">found_version</span>
218
- 90: <span class="ruby-keyword kw">end</span>
219
- 91: <span class="ruby-keyword kw">end</span>
220
- </pre>
221
- </div>
222
- </div>
223
- </div>
224
- <div class="method">
225
- <div class="title">
226
- <a name="M000102"></a><b>new</b>(app_root, pid, listen_socket_name, listen_socket_type, owner_pipe)
227
- </div>
228
- <div class="description">
229
- <p>
230
- Creates a <a href="Application.html#M000102">new</a> instance of <a
231
- href="Application.html">Application</a>. The parameters correspond with the
232
- attributes of the same names. No exceptions will be thrown.
233
- </p>
234
- </div>
235
- <div class="sourcecode">
236
- <p class="source-link">[ <a href="javascript:toggleSource('M000102_source')" id="l_M000102_source">show source</a> ]</p>
237
- <div id="M000102_source" class="dyn-source">
238
- <pre>
239
- <span class="ruby-comment cmt"># File lib/phusion_passenger/application.rb, line 95</span>
240
- 95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">app_root</span>, <span class="ruby-identifier">pid</span>, <span class="ruby-identifier">listen_socket_name</span>, <span class="ruby-identifier">listen_socket_type</span>, <span class="ruby-identifier">owner_pipe</span>)
241
- 96: <span class="ruby-ivar">@app_root</span> = <span class="ruby-identifier">app_root</span>
242
- 97: <span class="ruby-ivar">@pid</span> = <span class="ruby-identifier">pid</span>
243
- 98: <span class="ruby-ivar">@listen_socket_name</span> = <span class="ruby-identifier">listen_socket_name</span>
244
- 99: <span class="ruby-ivar">@listen_socket_type</span> = <span class="ruby-identifier">listen_socket_type</span>
245
- 100: <span class="ruby-ivar">@owner_pipe</span> = <span class="ruby-identifier">owner_pipe</span>
246
- 101: <span class="ruby-keyword kw">end</span>
247
- </pre>
248
- </div>
249
- </div>
250
- </div>
251
- <div class="sectiontitle">Public Instance methods</div>
252
- <div class="method">
253
- <div class="title">
254
- <a name="M000103"></a><b>close</b>()
255
- </div>
256
- <div class="description">
257
- <p>
258
- Close the connection with the application instance. If there are no other
259
- processes that have connections to this application instance, then it will
260
- shutdown as soon as possible.
261
- </p>
262
- <p>
263
- See also AbstractRequestHandler#owner_pipe.
264
- </p>
265
- </div>
266
- <div class="sourcecode">
267
- <p class="source-link">[ <a href="javascript:toggleSource('M000103_source')" id="l_M000103_source">show source</a> ]</p>
268
- <div id="M000103_source" class="dyn-source">
269
- <pre>
270
- <span class="ruby-comment cmt"># File lib/phusion_passenger/application.rb, line 108</span>
271
- 108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
272
- 109: <span class="ruby-ivar">@owner_pipe</span>.<span class="ruby-identifier">close</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-keyword kw">nil</span>
273
- 110: <span class="ruby-keyword kw">end</span>
274
- </pre>
275
- </div>
276
- </div>
277
- </div>
278
- </div>
279
-
280
- </div>
281
-
282
- </body>
283
- </html>