passenger 3.0.0.pre2 → 3.0.0.pre3
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of passenger might be problematic. Click here for more details.
- data/bin/passenger-status +1 -1
- data/build/packaging.rb +4 -7
- data/build/ruby_extension.rb +5 -5
- data/ext/common/Constants.h +1 -1
- data/ext/common/LoggingAgent/RemoteSender.h +3 -1
- data/ext/nginx/ngx_http_passenger_module.c +1 -1
- data/ext/{phusion_passenger → ruby}/extconf.rb +1 -1
- data/ext/{phusion_passenger/native_support.c → ruby/passenger_native_support.c} +1 -1
- data/lib/phusion_passenger.rb +5 -6
- data/lib/phusion_passenger/dependencies.rb +23 -0
- data/lib/phusion_passenger/native_support.rb +123 -65
- data/lib/phusion_passenger/packaging.rb +1 -1
- data/lib/phusion_passenger/platform_info/apache.rb +1 -1
- data/lib/phusion_passenger/platform_info/compiler.rb +25 -1
- data/lib/phusion_passenger/platform_info/ruby.rb +36 -5
- data/lib/phusion_passenger/standalone/runtime_installer.rb +5 -4
- data/lib/phusion_passenger/utils.rb +62 -1
- data/test/ruby/utils_spec.rb +62 -0
- data/test/support/test_helper.rb +2 -0
- metadata +6 -168
- data/doc/rdoc/classes/ConditionVariable.html +0 -215
- data/doc/rdoc/classes/Exception.html +0 -120
- data/doc/rdoc/classes/GC.html +0 -113
- data/doc/rdoc/classes/IO.html +0 -221
- data/doc/rdoc/classes/PhusionPassenger.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/AbstractInstaller.html +0 -180
- data/doc/rdoc/classes/PhusionPassenger/AbstractRequestHandler.html +0 -647
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer.html +0 -654
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/InvalidPassword.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerAlreadyStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerError.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/ServerNotStarted.html +0 -97
- data/doc/rdoc/classes/PhusionPassenger/AbstractServer/UnknownMessage.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/AbstractServerCollection.html +0 -619
- data/doc/rdoc/classes/PhusionPassenger/AdminTools.html +0 -142
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/MemoryStats/Process.html +0 -231
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance.html +0 -588
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/CorruptedDirectoryError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/GenerationsAbsentError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Group.html +0 -147
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Process.html +0 -279
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/RoleDeniedError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/StaleDirectoryError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/Stats.html +0 -123
- data/doc/rdoc/classes/PhusionPassenger/AdminTools/ServerInstance/UnsupportedGenerationStructureVersionError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger.html +0 -341
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/Log.html +0 -294
- data/doc/rdoc/classes/PhusionPassenger/AnalyticsLogger/SharedData.html +0 -199
- data/doc/rdoc/classes/PhusionPassenger/AppInitError.html +0 -155
- data/doc/rdoc/classes/PhusionPassenger/AppProcess.html +0 -367
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails.html +0 -95
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner.html +0 -351
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/CGIFixed.html +0 -200
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner.html +0 -410
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/FrameworkSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/ClassicRails/RequestHandler.html +0 -156
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions.html +0 -115
- data/doc/rdoc/classes/PhusionPassenger/ClassicRailsExtensions/AnalyticsLogging.html +0 -202
- data/doc/rdoc/classes/PhusionPassenger/ConsoleTextTemplate.html +0 -172
- data/doc/rdoc/classes/PhusionPassenger/DebugLogging.html +0 -273
- data/doc/rdoc/classes/PhusionPassenger/FrameworkInitError.html +0 -145
- data/doc/rdoc/classes/PhusionPassenger/HTMLTemplate.html +0 -162
- data/doc/rdoc/classes/PhusionPassenger/InitializationError.html +0 -141
- data/doc/rdoc/classes/PhusionPassenger/InvalidPath.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel.html +0 -673
- data/doc/rdoc/classes/PhusionPassenger/MessageChannel/InvalidHashError.html +0 -92
- data/doc/rdoc/classes/PhusionPassenger/MessageClient.html +0 -415
- data/doc/rdoc/classes/PhusionPassenger/NativeSupport.html +0 -494
- data/doc/rdoc/classes/PhusionPassenger/NativeSupport/FileSystemWatcher.html +0 -96
- data/doc/rdoc/classes/PhusionPassenger/Packaging.html +0 -129
- data/doc/rdoc/classes/PhusionPassenger/PlatformInfo.html +0 -1758
- data/doc/rdoc/classes/PhusionPassenger/Plugin.html +0 -237
- data/doc/rdoc/classes/PhusionPassenger/Rack.html +0 -91
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner.html +0 -312
- data/doc/rdoc/classes/PhusionPassenger/Rack/ApplicationSpawner/Error.html +0 -98
- data/doc/rdoc/classes/PhusionPassenger/Rack/RequestHandler.html +0 -218
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions.html +0 -114
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging.html +0 -256
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ACExtension.html +0 -139
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ASBenchmarkableExtension.html +0 -118
- data/doc/rdoc/classes/PhusionPassenger/Rails3Extensions/AnalyticsLogging/ExceptionLogger.html +0 -135
- data/doc/rdoc/classes/PhusionPassenger/SpawnManager.html +0 -378
- data/doc/rdoc/classes/PhusionPassenger/Standalone.html +0 -111
- data/doc/rdoc/classes/PhusionPassenger/Standalone/AppFinder.html +0 -252
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Command.html +0 -161
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile.html +0 -368
- data/doc/rdoc/classes/PhusionPassenger/Standalone/ConfigFile/DisallowedContextError.html +0 -132
- data/doc/rdoc/classes/PhusionPassenger/Standalone/HelpCommand.html +0 -151
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Main.html +0 -189
- data/doc/rdoc/classes/PhusionPassenger/Standalone/PackageRuntimeCommand.html +0 -177
- data/doc/rdoc/classes/PhusionPassenger/Standalone/RuntimeInstaller.html +0 -341
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StartCommand.html +0 -203
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StatusCommand.html +0 -156
- data/doc/rdoc/classes/PhusionPassenger/Standalone/StopCommand.html +0 -168
- data/doc/rdoc/classes/PhusionPassenger/Standalone/Utils.html +0 -86
- data/doc/rdoc/classes/PhusionPassenger/Standalone/VersionCommand.html +0 -135
- data/doc/rdoc/classes/PhusionPassenger/UnknownError.html +0 -125
- data/doc/rdoc/classes/PhusionPassenger/Utils.html +0 -1468
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher.html +0 -204
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/DirInfo.html +0 -171
- data/doc/rdoc/classes/PhusionPassenger/Utils/FileSystemWatcher/FileInfo.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/Utils/HostsFileParser.html +0 -260
- data/doc/rdoc/classes/PhusionPassenger/Utils/PseudoIO.html +0 -169
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput.html +0 -265
- data/doc/rdoc/classes/PhusionPassenger/Utils/RewindableInput/Tempfile.html +0 -120
- data/doc/rdoc/classes/PhusionPassenger/Utils/UnseekableSocket.html +0 -561
- data/doc/rdoc/classes/PhusionPassenger/VersionNotFound.html +0 -140
- data/doc/rdoc/classes/PhusionPassenger/WSGI.html +0 -89
- data/doc/rdoc/classes/PhusionPassenger/WSGI/ApplicationSpawner.html +0 -182
- data/doc/rdoc/classes/Process.html +0 -115
- data/doc/rdoc/classes/Signal.html +0 -139
- data/doc/rdoc/created.rid +0 -1
- data/doc/rdoc/files/DEVELOPERS_TXT.html +0 -276
- data/doc/rdoc/files/README.html +0 -157
- data/doc/rdoc/files/ext/phusion_passenger/native_support_c.html +0 -92
- data/doc/rdoc/files/lib/phusion_passenger/abstract_installer_rb.html +0 -130
- data/doc/rdoc/files/lib/phusion_passenger/abstract_request_handler_rb.html +0 -135
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_collection_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/abstract_server_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/memory_stats_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools/server_instance_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/admin_tools_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/analytics_logger_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/app_process_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/application_spawner_rb.html +0 -141
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/cgi_fixed_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/framework_spawner_rb.html +0 -146
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/classic_rails_extensions/init_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/console_text_template_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/constants_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/debug_logging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/dependencies_rb.html +0 -147
- data/doc/rdoc/files/lib/phusion_passenger/exceptions_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/html_template_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/message_channel_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/message_client_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/native_support_rb.html +0 -131
- data/doc/rdoc/files/lib/phusion_passenger/packaging_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/apache_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/binary_compatibility_rb.html +0 -129
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/compiler_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/curl_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/documentation_tools_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/linux_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/operating_system_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/ruby_rb.html +0 -128
- data/doc/rdoc/files/lib/phusion_passenger/platform_info/zlib_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/platform_info_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/plugin_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/public_api_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/rack/application_spawner_rb.html +0 -137
- data/doc/rdoc/files/lib/phusion_passenger/rack/request_handler_rb.html +0 -125
- data/doc/rdoc/files/lib/phusion_passenger/rails3_extensions/init_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/simple_benchmarking_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/spawn_manager_rb.html +0 -160
- data/doc/rdoc/files/lib/phusion_passenger/standalone/app_finder_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/standalone/command_rb.html +0 -135
- data/doc/rdoc/files/lib/phusion_passenger/standalone/config_file_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/help_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/main_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/package_runtime_command_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/standalone/runtime_installer_rb.html +0 -132
- data/doc/rdoc/files/lib/phusion_passenger/standalone/start_command_rb.html +0 -136
- data/doc/rdoc/files/lib/phusion_passenger/standalone/status_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/stop_command_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/utils_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/standalone/version_command_rb.html +0 -127
- data/doc/rdoc/files/lib/phusion_passenger/utils/file_system_watcher_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/utils/hosts_file_parser_rb.html +0 -120
- data/doc/rdoc/files/lib/phusion_passenger/utils/rewindable_input_rb.html +0 -100
- data/doc/rdoc/files/lib/phusion_passenger/utils/tmpdir_rb.html +0 -122
- data/doc/rdoc/files/lib/phusion_passenger/utils/unseekable_socket_rb.html +0 -126
- data/doc/rdoc/files/lib/phusion_passenger/utils_rb.html +0 -179
- data/doc/rdoc/files/lib/phusion_passenger/wsgi/application_spawner_rb.html +0 -132
- data/doc/rdoc/fr_class_index.html +0 -139
- data/doc/rdoc/fr_file_index.html +0 -109
- data/doc/rdoc/fr_method_index.html +0 -435
- data/doc/rdoc/index.html +0 -26
- data/doc/rdoc/rdoc-style.css +0 -187
@@ -1,260 +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::Utils::HostsFileParser</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::Utils::HostsFileParser</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/utils/hosts_file_parser_rb.html">lib/phusion_passenger/utils/hosts_file_parser.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
|
-
A /etc/hosts parser. Also supports writing groups of data to the file.
|
80
|
-
</p>
|
81
|
-
</div>
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
<div class="sectiontitle">Methods</div>
|
86
|
-
<ul>
|
87
|
-
<li><a href="#M000278">add_group_data</a></li>
|
88
|
-
<li><a href="#M000272">flush_dns_cache!</a></li>
|
89
|
-
<li><a href="#M000275">host_count</a></li>
|
90
|
-
<li><a href="#M000274">ip_count</a></li>
|
91
|
-
<li><a href="#M000273">new</a></li>
|
92
|
-
<li><a href="#M000276">resolve</a></li>
|
93
|
-
<li><a href="#M000277">resolves_to_localhost?</a></li>
|
94
|
-
<li><a href="#M000279">write</a></li>
|
95
|
-
</ul>
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
<div class="sectiontitle">Public Class methods</div>
|
103
|
-
<div class="method">
|
104
|
-
<div class="title">
|
105
|
-
<a name="M000272"></a><b>flush_dns_cache!</b>()
|
106
|
-
</div>
|
107
|
-
<div class="sourcecode">
|
108
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000272_source')" id="l_M000272_source">show source</a> ]</p>
|
109
|
-
<div id="M000272_source" class="dyn-source">
|
110
|
-
<pre>
|
111
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/hosts_file_parser.rb, line 30</span>
|
112
|
-
30: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">flush_dns_cache!</span>
|
113
|
-
31: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_PLATFORM</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/darwin/</span>
|
114
|
-
32: <span class="ruby-identifier">system</span>(<span class="ruby-value str">"dscacheutil -flushcache"</span>)
|
115
|
-
33: <span class="ruby-keyword kw">end</span>
|
116
|
-
34: <span class="ruby-keyword kw">end</span>
|
117
|
-
</pre>
|
118
|
-
</div>
|
119
|
-
</div>
|
120
|
-
</div>
|
121
|
-
<div class="method">
|
122
|
-
<div class="title">
|
123
|
-
<a name="M000273"></a><b>new</b>(filename_or_io = "/etc/hosts")
|
124
|
-
</div>
|
125
|
-
<div class="sourcecode">
|
126
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000273_source')" id="l_M000273_source">show source</a> ]</p>
|
127
|
-
<div id="M000273_source" class="dyn-source">
|
128
|
-
<pre>
|
129
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/hosts_file_parser.rb, line 36</span>
|
130
|
-
36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">filename_or_io</span> = <span class="ruby-value str">"/etc/hosts"</span>)
|
131
|
-
37: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">filename_or_io</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:readline</span>)
|
132
|
-
38: <span class="ruby-identifier">read_and_parse</span>(<span class="ruby-identifier">filename_or_io</span>)
|
133
|
-
39: <span class="ruby-keyword kw">else</span>
|
134
|
-
40: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">filename_or_io</span>, <span class="ruby-value str">"rb"</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
135
|
-
41: <span class="ruby-identifier">read_and_parse</span>(<span class="ruby-identifier">f</span>)
|
136
|
-
42: <span class="ruby-keyword kw">end</span>
|
137
|
-
43: <span class="ruby-keyword kw">end</span>
|
138
|
-
44: <span class="ruby-keyword kw">end</span>
|
139
|
-
</pre>
|
140
|
-
</div>
|
141
|
-
</div>
|
142
|
-
</div>
|
143
|
-
<div class="sectiontitle">Public Instance methods</div>
|
144
|
-
<div class="method">
|
145
|
-
<div class="title">
|
146
|
-
<a name="M000278"></a><b>add_group_data</b>(marker, data)
|
147
|
-
</div>
|
148
|
-
<div class="sourcecode">
|
149
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000278_source')" id="l_M000278_source">show source</a> ]</p>
|
150
|
-
<div id="M000278_source" class="dyn-source">
|
151
|
-
<pre>
|
152
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/hosts_file_parser.rb, line 67</span>
|
153
|
-
67: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_group_data</span>(<span class="ruby-identifier">marker</span>, <span class="ruby-identifier">data</span>)
|
154
|
-
68: <span class="ruby-identifier">begin_index</span> = <span class="ruby-identifier">find_line</span>(<span class="ruby-value">0</span>, <span class="ruby-node">"###### BEGIN #{marker} ######"</span>)
|
155
|
-
69: <span class="ruby-identifier">end_index</span> = <span class="ruby-identifier">find_line</span>(<span class="ruby-identifier">begin_index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span>, <span class="ruby-node">"###### END #{marker} ######"</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">begin_index</span>
|
156
|
-
70: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">begin_index</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">end_index</span>
|
157
|
-
71: <span class="ruby-ivar">@lines</span>[<span class="ruby-identifier">begin_index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span> <span class="ruby-operator">..</span> <span class="ruby-identifier">end_index</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>] = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\n"</span>)
|
158
|
-
72: <span class="ruby-keyword kw">else</span>
|
159
|
-
73: <span class="ruby-ivar">@lines</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"###### BEGIN #{marker} ######"</span>
|
160
|
-
74: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">concat</span>(<span class="ruby-identifier">data</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\n"</span>))
|
161
|
-
75: <span class="ruby-ivar">@lines</span> <span class="ruby-operator"><<</span> <span class="ruby-node">"###### END #{marker} ######"</span>
|
162
|
-
76: <span class="ruby-keyword kw">end</span>
|
163
|
-
77: <span class="ruby-keyword kw">end</span>
|
164
|
-
</pre>
|
165
|
-
</div>
|
166
|
-
</div>
|
167
|
-
</div>
|
168
|
-
<div class="method">
|
169
|
-
<div class="title">
|
170
|
-
<a name="M000275"></a><b>host_count</b>()
|
171
|
-
</div>
|
172
|
-
<div class="sourcecode">
|
173
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000275_source')" id="l_M000275_source">show source</a> ]</p>
|
174
|
-
<div id="M000275_source" class="dyn-source">
|
175
|
-
<pre>
|
176
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/hosts_file_parser.rb, line 50</span>
|
177
|
-
50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">host_count</span>
|
178
|
-
51: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@host_names</span>.<span class="ruby-identifier">size</span>
|
179
|
-
52: <span class="ruby-keyword kw">end</span>
|
180
|
-
</pre>
|
181
|
-
</div>
|
182
|
-
</div>
|
183
|
-
</div>
|
184
|
-
<div class="method">
|
185
|
-
<div class="title">
|
186
|
-
<a name="M000274"></a><b>ip_count</b>()
|
187
|
-
</div>
|
188
|
-
<div class="sourcecode">
|
189
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000274_source')" id="l_M000274_source">show source</a> ]</p>
|
190
|
-
<div id="M000274_source" class="dyn-source">
|
191
|
-
<pre>
|
192
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/hosts_file_parser.rb, line 46</span>
|
193
|
-
46: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ip_count</span>
|
194
|
-
47: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@ips</span>.<span class="ruby-identifier">size</span>
|
195
|
-
48: <span class="ruby-keyword kw">end</span>
|
196
|
-
</pre>
|
197
|
-
</div>
|
198
|
-
</div>
|
199
|
-
</div>
|
200
|
-
<div class="method">
|
201
|
-
<div class="title">
|
202
|
-
<a name="M000276"></a><b>resolve</b>(host_name)
|
203
|
-
</div>
|
204
|
-
<div class="sourcecode">
|
205
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000276_source')" id="l_M000276_source">show source</a> ]</p>
|
206
|
-
<div id="M000276_source" class="dyn-source">
|
207
|
-
<pre>
|
208
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/hosts_file_parser.rb, line 54</span>
|
209
|
-
54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">host_name</span>)
|
210
|
-
55: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">host_name</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"localhost"</span>
|
211
|
-
56: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">"127.0.0.1"</span>
|
212
|
-
57: <span class="ruby-keyword kw">else</span>
|
213
|
-
58: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@host_names</span>[<span class="ruby-identifier">host_name</span>.<span class="ruby-identifier">downcase</span>]
|
214
|
-
59: <span class="ruby-keyword kw">end</span>
|
215
|
-
60: <span class="ruby-keyword kw">end</span>
|
216
|
-
</pre>
|
217
|
-
</div>
|
218
|
-
</div>
|
219
|
-
</div>
|
220
|
-
<div class="method">
|
221
|
-
<div class="title">
|
222
|
-
<a name="M000277"></a><b>resolves_to_localhost?</b>(hostname)
|
223
|
-
</div>
|
224
|
-
<div class="sourcecode">
|
225
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000277_source')" id="l_M000277_source">show source</a> ]</p>
|
226
|
-
<div id="M000277_source" class="dyn-source">
|
227
|
-
<pre>
|
228
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/hosts_file_parser.rb, line 62</span>
|
229
|
-
62: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolves_to_localhost?</span>(<span class="ruby-identifier">hostname</span>)
|
230
|
-
63: <span class="ruby-identifier">ip</span> = <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">hostname</span>)
|
231
|
-
64: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">ip</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"127.0.0.1"</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ip</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"::1"</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">ip</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"0.0.0.0"</span>
|
232
|
-
65: <span class="ruby-keyword kw">end</span>
|
233
|
-
</pre>
|
234
|
-
</div>
|
235
|
-
</div>
|
236
|
-
</div>
|
237
|
-
<div class="method">
|
238
|
-
<div class="title">
|
239
|
-
<a name="M000279"></a><b>write</b>(io)
|
240
|
-
</div>
|
241
|
-
<div class="sourcecode">
|
242
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000279_source')" id="l_M000279_source">show source</a> ]</p>
|
243
|
-
<div id="M000279_source" class="dyn-source">
|
244
|
-
<pre>
|
245
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/hosts_file_parser.rb, line 79</span>
|
246
|
-
79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">write</span>(<span class="ruby-identifier">io</span>)
|
247
|
-
80: <span class="ruby-ivar">@lines</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
248
|
-
81: <span class="ruby-identifier">io</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-identifier">line</span>)
|
249
|
-
82: <span class="ruby-keyword kw">end</span>
|
250
|
-
83: <span class="ruby-keyword kw">end</span>
|
251
|
-
</pre>
|
252
|
-
</div>
|
253
|
-
</div>
|
254
|
-
</div>
|
255
|
-
</div>
|
256
|
-
|
257
|
-
</div>
|
258
|
-
|
259
|
-
</body>
|
260
|
-
</html>
|
@@ -1,169 +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::Utils::PseudoIO</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::Utils::PseudoIO</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/utils_rb.html">lib/phusion_passenger/utils.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
|
-
<div class="sectiontitle">Methods</div>
|
82
|
-
<ul>
|
83
|
-
<li><a href="#M000247">done!</a></li>
|
84
|
-
<li><a href="#M000248">method_missing</a></li>
|
85
|
-
<li><a href="#M000246">new</a></li>
|
86
|
-
<li><a href="#M000249">respond_to?</a></li>
|
87
|
-
</ul>
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
<div class="sectiontitle">Public Class methods</div>
|
95
|
-
<div class="method">
|
96
|
-
<div class="title">
|
97
|
-
<a name="M000246"></a><b>new</b>(sink)
|
98
|
-
</div>
|
99
|
-
<div class="sourcecode">
|
100
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000246_source')" id="l_M000246_source">show source</a> ]</p>
|
101
|
-
<div id="M000246_source" class="dyn-source">
|
102
|
-
<pre>
|
103
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 493</span>
|
104
|
-
493: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">sink</span>)
|
105
|
-
494: <span class="ruby-ivar">@sink</span> = <span class="ruby-identifier">sink</span> <span class="ruby-operator">||</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-value str">"/dev/null"</span>, <span class="ruby-value str">"w"</span>)
|
106
|
-
495: <span class="ruby-ivar">@buffer</span> = <span class="ruby-constant">StringIO</span>.<span class="ruby-identifier">new</span>
|
107
|
-
496: <span class="ruby-keyword kw">end</span>
|
108
|
-
</pre>
|
109
|
-
</div>
|
110
|
-
</div>
|
111
|
-
</div>
|
112
|
-
<div class="sectiontitle">Public Instance methods</div>
|
113
|
-
<div class="method">
|
114
|
-
<div class="title">
|
115
|
-
<a name="M000247"></a><b>done!</b>()
|
116
|
-
</div>
|
117
|
-
<div class="sourcecode">
|
118
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000247_source')" id="l_M000247_source">show source</a> ]</p>
|
119
|
-
<div id="M000247_source" class="dyn-source">
|
120
|
-
<pre>
|
121
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 498</span>
|
122
|
-
498: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done!</span>
|
123
|
-
499: <span class="ruby-identifier">result</span> = <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">string</span>
|
124
|
-
500: <span class="ruby-ivar">@buffer</span> = <span class="ruby-keyword kw">nil</span>
|
125
|
-
501: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">result</span>
|
126
|
-
502: <span class="ruby-keyword kw">end</span>
|
127
|
-
</pre>
|
128
|
-
</div>
|
129
|
-
</div>
|
130
|
-
</div>
|
131
|
-
<div class="method">
|
132
|
-
<div class="title">
|
133
|
-
<a name="M000248"></a><b>method_missing</b>(*args, &block)
|
134
|
-
</div>
|
135
|
-
<div class="sourcecode">
|
136
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000248_source')" id="l_M000248_source">show source</a> ]</p>
|
137
|
-
<div id="M000248_source" class="dyn-source">
|
138
|
-
<pre>
|
139
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 504</span>
|
140
|
-
504: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
141
|
-
505: <span class="ruby-ivar">@buffer</span>.<span class="ruby-identifier">send</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@buffer</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">:reopen</span>
|
142
|
-
506: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@sink</span>.<span class="ruby-identifier">send</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
143
|
-
507: <span class="ruby-keyword kw">end</span>
|
144
|
-
</pre>
|
145
|
-
</div>
|
146
|
-
</div>
|
147
|
-
</div>
|
148
|
-
<div class="method">
|
149
|
-
<div class="title">
|
150
|
-
<a name="M000249"></a><b>respond_to?</b>(symbol, include_private = false)
|
151
|
-
</div>
|
152
|
-
<div class="sourcecode">
|
153
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000249_source')" id="l_M000249_source">show source</a> ]</p>
|
154
|
-
<div id="M000249_source" class="dyn-source">
|
155
|
-
<pre>
|
156
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils.rb, line 509</span>
|
157
|
-
509: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">symbol</span>, <span class="ruby-identifier">include_private</span> = <span class="ruby-keyword kw">false</span>)
|
158
|
-
510: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@sink</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">symbol</span>, <span class="ruby-identifier">include_private</span>)
|
159
|
-
511: <span class="ruby-keyword kw">end</span>
|
160
|
-
</pre>
|
161
|
-
</div>
|
162
|
-
</div>
|
163
|
-
</div>
|
164
|
-
</div>
|
165
|
-
|
166
|
-
</div>
|
167
|
-
|
168
|
-
</body>
|
169
|
-
</html>
|
@@ -1,265 +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::Utils::RewindableInput</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::Utils::RewindableInput</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/utils/rewindable_input_rb.html">lib/phusion_passenger/utils/rewindable_input.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
|
-
Class which can make any <a href="../../IO.html">IO</a> object rewindable,
|
80
|
-
including non-rewindable ones. It does this by buffering the data into a
|
81
|
-
tempfile, which is rewindable.
|
82
|
-
</p>
|
83
|
-
<p>
|
84
|
-
rack.input is required to be rewindable, so if your input stream <a
|
85
|
-
href="../../IO.html">IO</a> is non-rewindable by nature (e.g. a pipe or a
|
86
|
-
socket) then you can wrap it in an object of this class to easily make it
|
87
|
-
rewindable.
|
88
|
-
</p>
|
89
|
-
<p>
|
90
|
-
Don‘t forget to call <a
|
91
|
-
href="RewindableInput.html#M000244">#close</a> when you‘re done. This
|
92
|
-
frees up temporary resources that <a
|
93
|
-
href="RewindableInput.html">RewindableInput</a> uses, though it does
|
94
|
-
<b>not</b> <a href="RewindableInput.html#M000244">close</a> the original <a
|
95
|
-
href="../../IO.html">IO</a> object.
|
96
|
-
</p>
|
97
|
-
</div>
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
<div class="sectiontitle">Methods</div>
|
102
|
-
<ul>
|
103
|
-
<li><a href="#M000244">close</a></li>
|
104
|
-
<li><a href="#M000241">each</a></li>
|
105
|
-
<li><a href="#M000239">gets</a></li>
|
106
|
-
<li><a href="#M000238">new</a></li>
|
107
|
-
<li><a href="#M000240">read</a></li>
|
108
|
-
<li><a href="#M000242">rewind</a></li>
|
109
|
-
<li><a href="#M000243">size</a></li>
|
110
|
-
</ul>
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
<div class="sectiontitle">Classes and Modules</div>
|
115
|
-
Class <a href="RewindableInput/Tempfile.html" class="link">PhusionPassenger::Utils::RewindableInput::Tempfile</a><br />
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
<div class="sectiontitle">Public Class methods</div>
|
121
|
-
<div class="method">
|
122
|
-
<div class="title">
|
123
|
-
<a name="M000238"></a><b>new</b>(io)
|
124
|
-
</div>
|
125
|
-
<div class="sourcecode">
|
126
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000238_source')" id="l_M000238_source">show source</a> ]</p>
|
127
|
-
<div id="M000238_source" class="dyn-source">
|
128
|
-
<pre>
|
129
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 18</span>
|
130
|
-
18: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">io</span>)
|
131
|
-
19: <span class="ruby-ivar">@io</span> = <span class="ruby-identifier">io</span>
|
132
|
-
20: <span class="ruby-ivar">@rewindable_io</span> = <span class="ruby-keyword kw">nil</span>
|
133
|
-
21: <span class="ruby-ivar">@unlinked</span> = <span class="ruby-keyword kw">false</span>
|
134
|
-
22: <span class="ruby-keyword kw">end</span>
|
135
|
-
</pre>
|
136
|
-
</div>
|
137
|
-
</div>
|
138
|
-
</div>
|
139
|
-
<div class="sectiontitle">Public Instance methods</div>
|
140
|
-
<div class="method">
|
141
|
-
<div class="title">
|
142
|
-
<a name="M000244"></a><b>close</b>()
|
143
|
-
</div>
|
144
|
-
<div class="description">
|
145
|
-
<p>
|
146
|
-
Closes this <a href="RewindableInput.html">RewindableInput</a> object
|
147
|
-
without closing the originally wrapped <a href="../../IO.html">IO</a>
|
148
|
-
oject. Cleans up any temporary resources that this <a
|
149
|
-
href="RewindableInput.html">RewindableInput</a> has created.
|
150
|
-
</p>
|
151
|
-
<p>
|
152
|
-
This method may be called multiple times. It does nothing on subsequent
|
153
|
-
calls.
|
154
|
-
</p>
|
155
|
-
</div>
|
156
|
-
<div class="sourcecode">
|
157
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000244_source')" id="l_M000244_source">show source</a> ]</p>
|
158
|
-
<div id="M000244_source" class="dyn-source">
|
159
|
-
<pre>
|
160
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 54</span>
|
161
|
-
54: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
162
|
-
55: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@rewindable_io</span>
|
163
|
-
56: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@unlinked</span>
|
164
|
-
57: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">close</span>
|
165
|
-
58: <span class="ruby-keyword kw">else</span>
|
166
|
-
59: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">close!</span>
|
167
|
-
60: <span class="ruby-keyword kw">end</span>
|
168
|
-
61: <span class="ruby-ivar">@rewindable_io</span> = <span class="ruby-keyword kw">nil</span>
|
169
|
-
62: <span class="ruby-keyword kw">end</span>
|
170
|
-
63: <span class="ruby-keyword kw">end</span>
|
171
|
-
</pre>
|
172
|
-
</div>
|
173
|
-
</div>
|
174
|
-
</div>
|
175
|
-
<div class="method">
|
176
|
-
<div class="title">
|
177
|
-
<a name="M000241"></a><b>each</b>(&block)
|
178
|
-
</div>
|
179
|
-
<div class="sourcecode">
|
180
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000241_source')" id="l_M000241_source">show source</a> ]</p>
|
181
|
-
<div id="M000241_source" class="dyn-source">
|
182
|
-
<pre>
|
183
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 34</span>
|
184
|
-
34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
185
|
-
35: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
186
|
-
36: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">each</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
187
|
-
37: <span class="ruby-keyword kw">end</span>
|
188
|
-
</pre>
|
189
|
-
</div>
|
190
|
-
</div>
|
191
|
-
</div>
|
192
|
-
<div class="method">
|
193
|
-
<div class="title">
|
194
|
-
<a name="M000239"></a><b>gets</b>()
|
195
|
-
</div>
|
196
|
-
<div class="sourcecode">
|
197
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000239_source')" id="l_M000239_source">show source</a> ]</p>
|
198
|
-
<div id="M000239_source" class="dyn-source">
|
199
|
-
<pre>
|
200
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 24</span>
|
201
|
-
24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gets</span>
|
202
|
-
25: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
203
|
-
26: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">gets</span>
|
204
|
-
27: <span class="ruby-keyword kw">end</span>
|
205
|
-
</pre>
|
206
|
-
</div>
|
207
|
-
</div>
|
208
|
-
</div>
|
209
|
-
<div class="method">
|
210
|
-
<div class="title">
|
211
|
-
<a name="M000240"></a><b>read</b>(*args)
|
212
|
-
</div>
|
213
|
-
<div class="sourcecode">
|
214
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000240_source')" id="l_M000240_source">show source</a> ]</p>
|
215
|
-
<div id="M000240_source" class="dyn-source">
|
216
|
-
<pre>
|
217
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 29</span>
|
218
|
-
29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
219
|
-
30: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
220
|
-
31: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">read</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
221
|
-
32: <span class="ruby-keyword kw">end</span>
|
222
|
-
</pre>
|
223
|
-
</div>
|
224
|
-
</div>
|
225
|
-
</div>
|
226
|
-
<div class="method">
|
227
|
-
<div class="title">
|
228
|
-
<a name="M000242"></a><b>rewind</b>()
|
229
|
-
</div>
|
230
|
-
<div class="sourcecode">
|
231
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000242_source')" id="l_M000242_source">show source</a> ]</p>
|
232
|
-
<div id="M000242_source" class="dyn-source">
|
233
|
-
<pre>
|
234
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 39</span>
|
235
|
-
39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rewind</span>
|
236
|
-
40: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
237
|
-
41: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">rewind</span>
|
238
|
-
42: <span class="ruby-keyword kw">end</span>
|
239
|
-
</pre>
|
240
|
-
</div>
|
241
|
-
</div>
|
242
|
-
</div>
|
243
|
-
<div class="method">
|
244
|
-
<div class="title">
|
245
|
-
<a name="M000243"></a><b>size</b>()
|
246
|
-
</div>
|
247
|
-
<div class="sourcecode">
|
248
|
-
<p class="source-link">[ <a href="javascript:toggleSource('M000243_source')" id="l_M000243_source">show source</a> ]</p>
|
249
|
-
<div id="M000243_source" class="dyn-source">
|
250
|
-
<pre>
|
251
|
-
<span class="ruby-comment cmt"># File lib/phusion_passenger/utils/rewindable_input.rb, line 44</span>
|
252
|
-
44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">size</span>
|
253
|
-
45: <span class="ruby-identifier">make_rewindable</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@rewindable_io</span>
|
254
|
-
46: <span class="ruby-ivar">@rewindable_io</span>.<span class="ruby-identifier">size</span>
|
255
|
-
47: <span class="ruby-keyword kw">end</span>
|
256
|
-
</pre>
|
257
|
-
</div>
|
258
|
-
</div>
|
259
|
-
</div>
|
260
|
-
</div>
|
261
|
-
|
262
|
-
</div>
|
263
|
-
|
264
|
-
</body>
|
265
|
-
</html>
|