<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title>Class: PhusionPassenger::Standalone::PackageRuntimeCommand</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" /> <script language="JavaScript" type="text/javascript"> // <![CDATA[ function toggleSource( id ) { var elem var link if( document.getElementById ) { elem = document.getElementById( id ) link = document.getElementById( "l_" + id ) } else if ( document.all ) { elem = eval( "document.all." + id ) link = eval( "document.all.l_" + id ) } else return false; if( elem.style.display == "block" ) { elem.style.display = "none" link.innerHTML = "show source" } else { elem.style.display = "block" link.innerHTML = "hide source" } } function openCode( url ) { window.open( url, "SOURCE_CODE", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=480,width=750" ).focus(); } // ]]> </script> </head> <body> <table width="100%" border='0' cellpadding='0' cellspacing='0' class='banner'><tr> <td class="file-title"><span class="file-title-prefix">Class</span><br />PhusionPassenger::Standalone::PackageRuntimeCommand</td> <td align="right"> <table cellspacing="0" cellpadding="2"> <tr valign="top"> <td>In:</td> <td> <a href="../../../files/lib/phusion_passenger/standalone/package_runtime_command_rb.html">lib/phusion_passenger/standalone/package_runtime_command.rb</a> </td> </tr> <tr> <td>Parent:</td> <td> <a href="Command.html"> Command </a> </td> </tr> </table> </td> </tr> </table> <!-- banner header --> <div id="bodyContent"> <div id="content"> <div class="sectiontitle">Methods</div> <ul> <li><a href="#M000097">description</a></li> <li><a href="#M000098">run</a></li> </ul> <div class="sectiontitle">Public Class methods</div> <div class="method"> <div class="title"> <a name="M000097"></a><b>description</b>() </div> <div class="sourcecode"> <p class="source-link">[ <a href="javascript:toggleSource('M000097_source')" id="l_M000097_source">show source</a> ]</p> <div id="M000097_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/phusion_passenger/standalone/package_runtime_command.rb, line 29</span> 29: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">description</span> 30: <span class="ruby-keyword kw">return</span> <span class="ruby-value str">"Package the Phusion Passenger Standalone runtime."</span> 31: <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div class="sectiontitle">Public Instance methods</div> <div class="method"> <div class="title"> <a name="M000098"></a><b>run</b>() </div> <div class="sourcecode"> <p class="source-link">[ <a href="javascript:toggleSource('M000098_source')" id="l_M000098_source">show source</a> ]</p> <div id="M000098_source" class="dyn-source"> <pre> <span class="ruby-comment cmt"># File lib/phusion_passenger/standalone/package_runtime_command.rb, line 33</span> 33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span> 34: <span class="ruby-identifier">destdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">"passenger-standalone"</span>) 35: <span class="ruby-identifier">description</span> = 36: <span class="ruby-value str">"Package the Phusion Passenger Standalone runtime into the specified directory.\n"</span> <span class="ruby-operator"><<</span> 37: <span class="ruby-node">"If DIRECTORY is not given then #{destdir} will be used."</span> 38: <span class="ruby-identifier">parse_options!</span>(<span class="ruby-value str">"package [directory]"</span>, <span class="ruby-identifier">description</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">opts</span><span class="ruby-operator">|</span> 39: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"--nginx-version VERSION"</span>, <span class="ruby-constant">String</span>, 40: <span class="ruby-identifier">wrap_desc</span>(<span class="ruby-node">"Nginx version to use as core (default: #{@options[:nginx_version]})"</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span> 41: <span class="ruby-ivar">@options</span>[<span class="ruby-identifier">:nginx_version</span>] = <span class="ruby-identifier">value</span> 42: <span class="ruby-keyword kw">end</span> 43: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"--nginx-tarball FILENAME"</span>, <span class="ruby-constant">String</span>, 44: <span class="ruby-identifier">wrap_desc</span>(<span class="ruby-value str">"Use the given tarball instead of downloading from the Internet"</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">value</span><span class="ruby-operator">|</span> 45: <span class="ruby-ivar">@options</span>[<span class="ruby-identifier">:nginx_tarball</span>] = <span class="ruby-identifier">value</span> 46: <span class="ruby-keyword kw">end</span> 47: <span class="ruby-keyword kw">end</span> 48: 49: <span class="ruby-identifier">destdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-ivar">@args</span>[<span class="ruby-value">0</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@args</span>[<span class="ruby-value">0</span>] 50: <span class="ruby-identifier">runtime_dir</span> = <span class="ruby-node">"#{destdir}/#{runtime_version_string}"</span> 51: <span class="ruby-identifier">support_dir</span> = <span class="ruby-node">"#{runtime_dir}/support"</span> 52: <span class="ruby-identifier">nginx_dir</span> = <span class="ruby-node">"#{runtime_dir}/nginx-#{@options[:nginx_version]}"</span> 53: 54: <span class="ruby-identifier">sh</span> <span class="ruby-value str">"rm"</span>, <span class="ruby-value str">"-rf"</span>, <span class="ruby-identifier">support_dir</span> 55: <span class="ruby-identifier">sh</span> <span class="ruby-value str">"rm"</span>, <span class="ruby-value str">"-rf"</span>, <span class="ruby-identifier">nginx_dir</span> 56: 57: <span class="ruby-identifier">require</span> <span class="ruby-value str">'phusion_passenger/standalone/runtime_installer'</span> 58: <span class="ruby-identifier">installer</span> = <span class="ruby-constant">RuntimeInstaller</span>.<span class="ruby-identifier">new</span>( 59: <span class="ruby-identifier">:source_root</span> =<span class="ruby-operator">></span> <span class="ruby-constant">SOURCE_ROOT</span>, 60: <span class="ruby-identifier">:support_dir</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">support_dir</span>, 61: <span class="ruby-identifier">:nginx_dir</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">nginx_dir</span>, 62: <span class="ruby-identifier">:version</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@options</span>[<span class="ruby-identifier">:nginx_version</span>], 63: <span class="ruby-identifier">:tarball</span> =<span class="ruby-operator">></span> <span class="ruby-ivar">@options</span>[<span class="ruby-identifier">:nginx_tarball</span>], 64: <span class="ruby-identifier">:download_binaries</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">false</span>) 65: <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">start</span> 66: 67: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">support_dir</span>) <span class="ruby-keyword kw">do</span> 68: <span class="ruby-identifier">support_dir_name</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">support_dir</span>) 69: <span class="ruby-identifier">puts</span> <span class="ruby-node">"cd #{support_dir}"</span> 70: <span class="ruby-identifier">sh</span> <span class="ruby-node">"tar -c . | gzip --best > ../#{support_dir_name}.tar.gz"</span> 71: <span class="ruby-keyword kw">end</span> 72: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">nginx_dir</span>) <span class="ruby-keyword kw">do</span> 73: <span class="ruby-identifier">nginx_dir_name</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">nginx_dir</span>) 74: <span class="ruby-identifier">puts</span> <span class="ruby-node">"cd #{nginx_dir}"</span> 75: <span class="ruby-identifier">sh</span> <span class="ruby-node">"tar -c . | gzip --best > ../#{nginx_dir_name}.tar.gz"</span> 76: <span class="ruby-keyword kw">end</span> 77: <span class="ruby-identifier">puts</span> <span class="ruby-node">"cd #{runtime_dir}"</span> 78: <span class="ruby-identifier">sh</span> <span class="ruby-value str">"rm"</span>, <span class="ruby-value str">"-rf"</span>, <span class="ruby-identifier">support_dir</span>, <span class="ruby-identifier">nginx_dir</span> 79: <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> </div> </div> </body> </html>