<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> Class: Closure::Compiler::Compilation — Documentation by YARD 0.8.7.6 </title> <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" /> <script type="text/javascript" charset="utf-8"> hasFrames = window.top.frames.main ? true : false; relpath = '../../'; framesUrl = "../../frames.html#!Closure/Compiler/Compilation.html"; </script> <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script> <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script> </head> <body> <div id="header"> <div id="menu"> <a href="../../_index.html">Index (C)</a> » <span class='title'><span class='object_link'><a href="../../Closure.html" title="Closure (class)">Closure</a></span></span> » <span class='title'><span class='object_link'><a href="../Compiler.html" title="Closure::Compiler (class)">Compiler</a></span></span> » <span class="title">Compilation</span> <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div> </div> <div id="search"> <a class="full_list_link" id="class_list_link" href="../../class_list.html"> Class List </a> <a class="full_list_link" id="method_list_link" href="../../method_list.html"> Method List </a> <a class="full_list_link" id="file_list_link" href="../../file_list.html"> File List </a> </div> <div class="clear"></div> </div> <iframe id="search_frame"></iframe> <div id="content"><h1>Class: Closure::Compiler::Compilation </h1> <dl class="box"> <dt class="r1">Inherits:</dt> <dd class="r1"> <span class="inheritName">Object</span> <ul class="fullTree"> <li>Object</li> <li class="next">Closure::Compiler::Compilation</li> </ul> <a href="#" class="inheritanceTree">show all</a> </dd> <dt class="r2 last">Defined in:</dt> <dd class="r2 last">lib/closure/compiler.rb</dd> </dl> <div class="clear"></div> <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#js_output_file-instance_method" title="#js_output_file (instance method)">- <strong>js_output_file</strong> </a> </span> <span class="note title readonly">readonly</span> <span class="summary_desc"><div class='inline'> <p>Returns the value of attribute js_output_file.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#log-instance_method" title="#log (instance method)">- <strong>log</strong> </a> </span> <span class="note title readonly">readonly</span> <span class="summary_desc"><div class='inline'> <p>Returns the value of attribute log.</p> </div></span> </li> </ul> <h2> Instance Method Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small> </h2> <ul class="summary"> <li class="public "> <span class="summary_signature"> <a href="#%3C%3C-instance_method" title="#<< (instance method)">- <strong><<</strong>(javascript) </a> </span> <span class="summary_desc"><div class='inline'> <p>Appends a string to the javascript.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#initialize-instance_method" title="#initialize (instance method)">- (Compilation) <strong>initialize</strong>(env, js_output_file = nil, log = nil) </a> </span> <span class="note title constructor">constructor</span> <span class="summary_desc"><div class='inline'> <p>A new instance of Compilation.</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#javascript-instance_method" title="#javascript (instance method)">- <strong>javascript</strong> </a> (also: #to_s) </span> <span class="summary_desc"><div class='inline'> <p>Always returns the compiled javascript (possibly an empty string).</p> </div></span> </li> <li class="public "> <span class="summary_signature"> <a href="#to_response-instance_method" title="#to_response (instance method)">- (Rack::Response) <strong>to_response</strong> </a> </span> <span class="summary_desc"><div class='inline'> <p>Turn the compiled javascript into a Rack::Response object.</p> </div></span> </li> </ul> <div id="constructor_details" class="method_details_list"> <h2>Constructor Details</h2> <div class="method_details first"> <h3 class="signature first" id="initialize-instance_method"> - (<tt><span class='object_link'><a href="" title="Closure::Compiler::Compilation (class)">Compilation</a></span></tt>) <strong>initialize</strong>(env, js_output_file = nil, log = nil) </h3><div class="docstring"> <div class="discussion"> <p>Returns a new instance of Compilation</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 97 98 99 100 101 102</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/closure/compiler.rb', line 97</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_env'>env</span><span class='comma'>,</span> <span class='id identifier rubyid_js_output_file'>js_output_file</span><span class='op'>=</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_log'>log</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span> <span class='ivar'>@javascript</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span> <span class='ivar'>@env</span> <span class='op'>=</span> <span class='id identifier rubyid_env'>env</span> <span class='ivar'>@js_output_file</span> <span class='op'>=</span> <span class='id identifier rubyid_js_output_file'>js_output_file</span> <span class='ivar'>@log</span> <span class='op'>=</span> <span class='id identifier rubyid_log'>log</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_attr_details" class="attr_details"> <h2>Instance Attribute Details</h2> <span id=""></span> <div class="method_details first"> <h3 class="signature first" id="js_output_file-instance_method"> - <strong>js_output_file</strong> <span class="extras">(readonly)</span> </h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute js_output_file</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 95 96 97</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/closure/compiler.rb', line 95</span> <span class='kw'>def</span> <span class='id identifier rubyid_js_output_file'>js_output_file</span> <span class='ivar'>@js_output_file</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <span id=""></span> <div class="method_details "> <h3 class="signature " id="log-instance_method"> - <strong>log</strong> <span class="extras">(readonly)</span> </h3><div class="docstring"> <div class="discussion"> <p>Returns the value of attribute log</p> </div> </div> <div class="tags"> </div><table class="source_code"> <tr> <td> <pre class="lines"> 94 95 96</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/closure/compiler.rb', line 94</span> <span class='kw'>def</span> <span class='id identifier rubyid_log'>log</span> <span class='ivar'>@log</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> <div id="instance_method_details" class="method_details_list"> <h2>Instance Method Details</h2> <div class="method_details first"> <h3 class="signature first" id="<<-instance_method"> - <strong><<</strong>(javascript) </h3><div class="docstring"> <div class="discussion"> <p>Appends a string to the javascript.</p> </div> </div> <div class="tags"> <p class="tag_title">Parameters:</p> <ul class="param"> <li> <span class='name'>javascript</span> <span class='type'>(<tt>String</tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 142 143 144 145</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/closure/compiler.rb', line 142</span> <span class='kw'>def</span> <span class='op'><<</span><span class='lparen'>(</span><span class='id identifier rubyid_javascript'>javascript</span><span class='rparen'>)</span> <span class='ivar'>@javascript</span> <span class='op'><<</span> <span class='id identifier rubyid_javascript'>javascript</span> <span class='kw'>self</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="javascript-instance_method"> - <strong>javascript</strong> <span class="aliases">Also known as: <span class="names"><span id='to_s-instance_method'>to_s</span></span> </span> </h3><div class="docstring"> <div class="discussion"> <p>Always returns the compiled javascript (possibly an empty string).</p> </div> </div> <div class="tags"> <div class="examples"> <p class="tag_title">Examples:</p> <pre class="example code"><code><%= goog.compile(args) %></code></pre> </div> </div><table class="source_code"> <tr> <td> <pre class="lines"> 150 151 152 153 154 155 156 157</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/closure/compiler.rb', line 150</span> <span class='kw'>def</span> <span class='id identifier rubyid_javascript'>javascript</span> <span class='kw'>if</span> <span class='ivar'>@js_output_file</span> <span class='id identifier rubyid_file_js'>file_js</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_read'>read</span><span class='lparen'>(</span><span class='ivar'>@js_output_file</span><span class='rparen'>)</span> <span class='kw'>rescue</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span> <span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_file_js'>file_js</span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='ivar'>@javascript</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='kw'>nil</span> <span class='kw'>else</span> <span class='ivar'>@javascript</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span> <span class='kw'>nil</span> <span class='kw'>end</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> <div class="method_details "> <h3 class="signature " id="to_response-instance_method"> - (<tt>Rack::Response</tt>) <strong>to_response</strong> </h3><div class="docstring"> <div class="discussion"> <p>Turn the compiled javascript into a Rack::Response object. Success and warning messages, which aren't raised like errors, will be logged to the javascript console.</p> </div> </div> <div class="tags"> <div class="examples"> <p class="tag_title">Examples:</p> <pre class="example code"><code><% @response = goog.compile(args).to_response %></code></pre> </div> <p class="tag_title">Returns:</p> <ul class="return"> <li> <span class='type'>(<tt>Rack::Response</tt>)</span> </li> </ul> </div><table class="source_code"> <tr> <td> <pre class="lines"> 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138</pre> </td> <td> <pre class="code"><span class="info file"># File 'lib/closure/compiler.rb', line 120</span> <span class='kw'>def</span> <span class='id identifier rubyid_to_response'>to_response</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_log'>log</span> <span class='kw'>and</span> <span class='ivar'>@javascript</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='kw'>and</span> <span class='ivar'>@js_output_file</span> <span class='id identifier rubyid_response'>response</span> <span class='op'>=</span> <span class='const'>FileResponse</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='ivar'>@env</span><span class='comma'>,</span> <span class='ivar'>@js_output_file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>application/javascript</span><span class='tstring_end'>'</span></span> <span class='kw'>else</span> <span class='id identifier rubyid_response'>response</span> <span class='op'>=</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Response</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>Content-Type</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>application/javascript</span><span class='tstring_end'>'</span></span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Cache-Control</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>max-age=0, private, must-revalidate</span><span class='tstring_end'>'</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_log'>log</span> <span class='id identifier rubyid_consolable_log'>consolable_log</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>"Closure Compiler: %s\n\n", </span><span class='tstring_end'>'</span></span> <span class='op'>+</span> <span class='id identifier rubyid_log'>log</span><span class='period'>.</span><span class='id identifier rubyid_rstrip'>rstrip</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span> <span class='kw'>if</span> <span class='id identifier rubyid_log'>log</span><span class='period'>.</span><span class='id identifier rubyid_split'>split</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'> 0 warn</span><span class='regexp_end'>/i</span></span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>try{console.log(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_consolable_log'>consolable_log</span><span class='embexpr_end'>}</span><span class='tstring_content'>)}catch(err){};\n</span><span class='tstring_end'>"</span></span> <span class='kw'>else</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>try{console.warn(</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_consolable_log'>consolable_log</span><span class='embexpr_end'>}</span><span class='tstring_content'>)}catch(err){};\n</span><span class='tstring_end'>"</span></span> <span class='kw'>end</span> <span class='kw'>end</span> <span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span> <span class='id identifier rubyid_javascript'>javascript</span> <span class='kw'>end</span> <span class='id identifier rubyid_response'>response</span> <span class='kw'>end</span></pre> </td> </tr> </table> </div> </div> </div> <div id="footer"> Generated on Fri Mar 18 15:12:13 2016 by <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a> 0.8.7.6 (ruby-2.2.1). </div> </body> </html>