jsc 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,66 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{jsc}
8
- s.version = "0.2.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Davide Saurino"]
12
- s.date = %q{2010-02-22}
13
- s.email = %q{davide.saurino@gmail.com}
14
- s.executables = ["jsc", "#jsc#"]
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".bnsignore",
21
- ".gitignore",
22
- "History.txt",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "TODO.org",
27
- "VERSION",
28
- "bin/jsc",
29
- "features/run_command.feature",
30
- "features/support/env.rb",
31
- "js/compiled_code.js",
32
- "js/errors.js",
33
- "js/warnings.js",
34
- "lib/jsc.rb",
35
- "lib/jsc/closure_compiler.rb",
36
- "plugins/jsc.el",
37
- "spec/jsc_spec.rb",
38
- "spec/spec_helper.rb",
39
- "tasks/jsc.rake",
40
- "test/test_jsc.rb"
41
- ]
42
- s.homepage = %q{http://github.com/sub/jsc}
43
- s.rdoc_options = ["--charset=UTF-8"]
44
- s.require_paths = ["lib"]
45
- s.rubygems_version = %q{1.3.5}
46
- s.summary = %q{Ruby API to Google Closure Compiler Web service}
47
- s.test_files = [
48
- "spec/jsc_spec.rb",
49
- "spec/spec_helper.rb",
50
- "test/test_jsc.rb"
51
- ]
52
-
53
- if s.respond_to? :specification_version then
54
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
55
- s.specification_version = 3
56
-
57
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
58
- s.add_runtime_dependency(%q<term-ansicolor>, ["= 1.0.4"])
59
- else
60
- s.add_dependency(%q<term-ansicolor>, ["= 1.0.4"])
61
- end
62
- else
63
- s.add_dependency(%q<term-ansicolor>, ["= 1.0.4"])
64
- end
65
- end
66
-
@@ -1,649 +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
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: JSCompiler</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
- <script type="text/javascript">
13
- // <![CDATA[
14
-
15
- function popupCode( url ) {
16
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
- }
18
-
19
- function toggleCode( id ) {
20
- if ( document.getElementById )
21
- elem = document.getElementById( id );
22
- else if ( document.all )
23
- elem = eval( "document.all." + id );
24
- else
25
- return false;
26
-
27
- elemStyle = elem.style;
28
-
29
- if ( elemStyle.display != "block" ) {
30
- elemStyle.display = "block"
31
- } else {
32
- elemStyle.display = "none"
33
- }
34
-
35
- return true;
36
- }
37
-
38
- // Make codeblocks hidden by default
39
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
-
41
- // ]]>
42
- </script>
43
-
44
- </head>
45
- <body>
46
-
47
-
48
-
49
- <div id="classHeader">
50
- <table class="header-table">
51
- <tr class="top-aligned-row">
52
- <td><strong>Module</strong></td>
53
- <td class="class-name-in-header">JSCompiler</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../files/lib/jsc/closure_compiler_rb.html">
59
- lib/jsc/closure_compiler.rb
60
- </a>
61
- <br />
62
- <a href="../files/lib/jsc_rb.html">
63
- lib/jsc.rb
64
- </a>
65
- <br />
66
- </td>
67
- </tr>
68
-
69
- </table>
70
- </div>
71
- <!-- banner header -->
72
-
73
- <div id="bodyContent">
74
-
75
-
76
-
77
- <div id="contextContent">
78
-
79
-
80
-
81
- </div>
82
-
83
- <div id="method-list">
84
- <h3 class="section-bar">Methods</h3>
85
-
86
- <div class="name-list">
87
- <a href="#M000003">compile</a>&nbsp;&nbsp;
88
- <a href="#M000005">compile_dir</a>&nbsp;&nbsp;
89
- <a href="#M000001">create_json_request</a>&nbsp;&nbsp;
90
- <a href="#M000008">create_statistics_output</a>&nbsp;&nbsp;
91
- <a href="#M000004">full_compile</a>&nbsp;&nbsp;
92
- <a href="#M000010">libpath</a>&nbsp;&nbsp;
93
- <a href="#M000006">parse_json_output</a>&nbsp;&nbsp;
94
- <a href="#M000011">path</a>&nbsp;&nbsp;
95
- <a href="#M000002">post_to_cc</a>&nbsp;&nbsp;
96
- <a href="#M000007">read_file</a>&nbsp;&nbsp;
97
- <a href="#M000012">require_all_libs_relative_to</a>&nbsp;&nbsp;
98
- <a href="#M000009">version</a>&nbsp;&nbsp;
99
- </div>
100
- </div>
101
-
102
- </div>
103
-
104
-
105
- <!-- if includes -->
106
-
107
- <div id="section">
108
-
109
-
110
-
111
-
112
-
113
-
114
-
115
-
116
- <!-- if method_list -->
117
- <div id="methods">
118
- <h3 class="section-bar">Public Class methods</h3>
119
-
120
- <div id="method-M000003" class="method-detail">
121
- <a name="M000003"></a>
122
-
123
- <div class="method-heading">
124
- <a href="#M000003" class="method-signature">
125
- <span class="method-name">compile</span><span class="method-args">(arg, is_file, op, level)</span>
126
- </a>
127
- </div>
128
-
129
- <div class="method-description">
130
- <p>
131
- Compiles a file or a piece of code and returns parsed output
132
- </p>
133
- <p>
134
- Accepted parameters:
135
- </p>
136
- <ul>
137
- <li><b>arg</b>: the code or the file <a href="JSCompiler.html#M000011">path</a>
138
- to <a href="JSCompiler.html#M000003">compile</a>
139
-
140
- </li>
141
- <li><b>is_file</b>: 0 =&gt; arg is code
142
-
143
- <pre>
144
- 1 =&gt; arg is a file path
145
- </pre>
146
- </li>
147
- <li><b>op</b>: output_info parameter
148
-
149
- </li>
150
- <li><b>level</b>: compilation_level parameter
151
-
152
- </li>
153
- </ul>
154
- <p><a class="source-toggle" href="#"
155
- onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
156
- <div class="method-source-code" id="M000003-source">
157
- <pre>
158
- <span class="ruby-comment cmt"># File lib/jsc/closure_compiler.rb, line 68</span>
159
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">compile</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-identifier">is_file</span>, <span class="ruby-identifier">op</span>, <span class="ruby-identifier">level</span>)
160
- <span class="ruby-ivar">@op</span> = <span class="ruby-identifier">op</span>.<span class="ruby-identifier">blank?</span> <span class="ruby-value">? </span><span class="ruby-constant">DEFAULT_SERVICE</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">op</span>
161
- <span class="ruby-ivar">@level</span> = <span class="ruby-identifier">level</span>.<span class="ruby-identifier">blank?</span> <span class="ruby-value">? </span><span class="ruby-constant">DEFAULT_LEVEL</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">level</span>
162
- <span class="ruby-identifier">value</span> = <span class="ruby-keyword kw">true</span>
163
-
164
- <span class="ruby-keyword kw">begin</span>
165
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">is_file</span>
166
- <span class="ruby-identifier">js_code</span> = <span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">arg</span>)
167
- <span class="ruby-keyword kw">else</span>
168
- <span class="ruby-identifier">js_code</span> = <span class="ruby-identifier">arg</span>
169
- <span class="ruby-keyword kw">end</span>
170
- <span class="ruby-identifier">resp</span>, <span class="ruby-identifier">data</span> = <span class="ruby-identifier">post_to_cc</span>(<span class="ruby-identifier">create_json_request</span>(<span class="ruby-identifier">js_code</span>))
171
-
172
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$debug</span>
173
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;#DEBUG data \n&quot;</span>
174
- <span class="ruby-identifier">puts</span> <span class="ruby-identifier">data</span>
175
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;\n&quot;</span>
176
- <span class="ruby-keyword kw">end</span>
177
-
178
- <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
179
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">e</span>
180
- <span class="ruby-keyword kw">end</span>
181
-
182
- <span class="ruby-identifier">parse_json_output</span>(<span class="ruby-identifier">data</span>)
183
- <span class="ruby-keyword kw">end</span>
184
- </pre>
185
- </div>
186
- </div>
187
- </div>
188
-
189
- <div id="method-M000005" class="method-detail">
190
- <a name="M000005"></a>
191
-
192
- <div class="method-heading">
193
- <a href="#M000005" class="method-signature">
194
- <span class="method-name">compile_dir</span><span class="method-args">(dir, op, level)</span>
195
- </a>
196
- </div>
197
-
198
- <div class="method-description">
199
- <p>
200
- Calls <a href="JSCompiler.html#M000003">compile</a> method for every file
201
- in <em>dir</em> directory
202
- </p>
203
- <p>
204
- Accepted parameters:
205
- </p>
206
- <ul>
207
- <li><b>dir</b>: the directory
208
-
209
- </li>
210
- <li><b>op</b>: output_info parameter
211
-
212
- </li>
213
- <li><b>level</b>: compilation_level parameter
214
-
215
- </li>
216
- </ul>
217
- <p><a class="source-toggle" href="#"
218
- onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
219
- <div class="method-source-code" id="M000005-source">
220
- <pre>
221
- <span class="ruby-comment cmt"># File lib/jsc/closure_compiler.rb, line 115</span>
222
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">compile_dir</span>(<span class="ruby-identifier">dir</span>, <span class="ruby-identifier">op</span>, <span class="ruby-identifier">level</span>)
223
- <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;&quot;</span>
224
- <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">entries</span>(<span class="ruby-identifier">dir</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
225
- <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">file</span>) <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;.js&quot;</span>
226
- <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Statistics for file #{file}...\n&quot;</span>
227
- <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">compile</span>(<span class="ruby-identifier">file</span>, <span class="ruby-keyword kw">true</span>, <span class="ruby-identifier">op</span>, <span class="ruby-identifier">level</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n***************\n&quot;</span>
228
- <span class="ruby-keyword kw">end</span>
229
- <span class="ruby-keyword kw">end</span>
230
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">out</span>
231
- <span class="ruby-keyword kw">end</span>
232
- </pre>
233
- </div>
234
- </div>
235
- </div>
236
-
237
- <div id="method-M000001" class="method-detail">
238
- <a name="M000001"></a>
239
-
240
- <div class="method-heading">
241
- <a href="#M000001" class="method-signature">
242
- <span class="method-name">create_json_request</span><span class="method-args">(code)</span>
243
- </a>
244
- </div>
245
-
246
- <div class="method-description">
247
- <p>
248
- Creates the <em>JSON</em> hash for the request and returns the hash to send
249
- along with the request
250
- </p>
251
- <p>
252
- Accepted parameters:
253
- </p>
254
- <ul>
255
- <li><b>code</b>: json_code parameter
256
-
257
- </li>
258
- <li><b>level</b>: compilation_level parameter
259
-
260
- </li>
261
- </ul>
262
- <p><a class="source-toggle" href="#"
263
- onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
264
- <div class="method-source-code" id="M000001-source">
265
- <pre>
266
- <span class="ruby-comment cmt"># File lib/jsc/closure_compiler.rb, line 31</span>
267
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_json_request</span>(<span class="ruby-identifier">code</span>)
268
- <span class="ruby-identifier">parameters</span> = {
269
- <span class="ruby-value str">&quot;code&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">code</span>,
270
- <span class="ruby-value str">&quot;level&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@level</span>,
271
- <span class="ruby-value str">&quot;format&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">&quot;json&quot;</span>,
272
- <span class="ruby-value str">&quot;info&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@op</span>
273
- }
274
- <span class="ruby-keyword kw">end</span>
275
- </pre>
276
- </div>
277
- </div>
278
- </div>
279
-
280
- <div id="method-M000008" class="method-detail">
281
- <a name="M000008"></a>
282
-
283
- <div class="method-heading">
284
- <a href="#M000008" class="method-signature">
285
- <span class="method-name">create_statistics_output</span><span class="method-args">(result)</span>
286
- </a>
287
- </div>
288
-
289
- <div class="method-description">
290
- <p>
291
- Parses and returns the <em>result</em> JSON server response
292
- </p>
293
- <p>
294
- Accepted parameters:
295
- </p>
296
- <ul>
297
- <li><b>result</b>: the already parsed JSON server response
298
-
299
- </li>
300
- </ul>
301
- <p><a class="source-toggle" href="#"
302
- onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
303
- <div class="method-source-code" id="M000008-source">
304
- <pre>
305
- <span class="ruby-comment cmt"># File lib/jsc/closure_compiler.rb, line 189</span>
306
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_statistics_output</span>(<span class="ruby-identifier">result</span>)
307
- <span class="ruby-identifier">size_improvement</span> = <span class="ruby-identifier">result</span>[<span class="ruby-value str">'originalSize'</span>] <span class="ruby-operator">-</span> <span class="ruby-identifier">result</span>[<span class="ruby-value str">'compressedSize'</span>]
308
- <span class="ruby-identifier">size_gzip_improvement</span> = <span class="ruby-identifier">result</span>[<span class="ruby-value str">'originalGzipSize'</span>] <span class="ruby-operator">-</span> <span class="ruby-identifier">result</span>[<span class="ruby-value str">'compressedGzipSize'</span>]
309
- <span class="ruby-identifier">rate_improvement</span> = (<span class="ruby-identifier">size_improvement</span> <span class="ruby-operator">*</span> <span class="ruby-value">100</span>)<span class="ruby-operator">/</span><span class="ruby-identifier">result</span>[<span class="ruby-value str">'originalSize'</span>]
310
- <span class="ruby-identifier">rate_gzip_improvement</span> = (<span class="ruby-identifier">size_gzip_improvement</span> <span class="ruby-operator">*</span> <span class="ruby-value">100</span>)<span class="ruby-operator">/</span><span class="ruby-identifier">result</span>[<span class="ruby-value str">'originalGzipSize'</span>]
311
- <span class="ruby-identifier">out</span> = <span class="ruby-node">&quot;Original Size: #{result['originalSize']} bytes (#{result['originalGzipSize']} bytes gzipped) \n&quot;</span>
312
- <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Compiled Size: #{result['compressedSize']} bytes (#{result['compressedGzipSize']} bytes gzipped) \n&quot;</span>
313
- <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;\t Saved #{rate_improvement}% off the original size (#{rate_gzip_improvement}% off the gzipped size)&quot;</span>
314
- <span class="ruby-keyword kw">end</span>
315
- </pre>
316
- </div>
317
- </div>
318
- </div>
319
-
320
- <div id="method-M000004" class="method-detail">
321
- <a name="M000004"></a>
322
-
323
- <div class="method-heading">
324
- <a href="#M000004" class="method-signature">
325
- <span class="method-name">full_compile</span><span class="method-args">(arg, file, level)</span>
326
- </a>
327
- </div>
328
-
329
- <div class="method-description">
330
- <p>
331
- Compiles a file or a piece of code and returns parsed output if no errors
332
- or warnings are found
333
- </p>
334
- <p>
335
- Accepted parameters:
336
- </p>
337
- <ul>
338
- <li><b>arg</b>: the code or the file <a href="JSCompiler.html#M000011">path</a>
339
- to <a href="JSCompiler.html#M000003">compile</a>
340
-
341
- </li>
342
- <li><b>file</b>: 0 =&gt; arg is code
343
-
344
- <pre>
345
- 1 =&gt; arg is a file path
346
- </pre>
347
- </li>
348
- <li><b>level</b>: compilation_level parameter
349
-
350
- </li>
351
- </ul>
352
- <p><a class="source-toggle" href="#"
353
- onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
354
- <div class="method-source-code" id="M000004-source">
355
- <pre>
356
- <span class="ruby-comment cmt"># File lib/jsc/closure_compiler.rb, line 102</span>
357
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">full_compile</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">level</span>)
358
- [<span class="ruby-value str">'errors'</span>, <span class="ruby-value str">'warnings'</span>,<span class="ruby-value str">'compiled_code'</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span>
359
- <span class="ruby-identifier">str</span> = <span class="ruby-constant">JSCompiler</span>.<span class="ruby-identifier">compile</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">x</span>, <span class="ruby-identifier">level</span>)
360
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">str</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">eql?</span>(<span class="ruby-value str">&quot;No &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">x</span>)
361
- <span class="ruby-keyword kw">end</span>
362
- <span class="ruby-keyword kw">end</span>
363
- </pre>
364
- </div>
365
- </div>
366
- </div>
367
-
368
- <div id="method-M000010" class="method-detail">
369
- <a name="M000010"></a>
370
-
371
- <div class="method-heading">
372
- <a href="#M000010" class="method-signature">
373
- <span class="method-name">libpath</span><span class="method-args">( *args )</span>
374
- </a>
375
- </div>
376
-
377
- <div class="method-description">
378
- <p>
379
- Returns the library <a href="JSCompiler.html#M000011">path</a> for the
380
- module. If any arguments are given, they will be joined to the end of the
381
- libray <a href="JSCompiler.html#M000011">path</a> using <tt>File.join</tt>.
382
- </p>
383
- <p><a class="source-toggle" href="#"
384
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
385
- <div class="method-source-code" id="M000010-source">
386
- <pre>
387
- <span class="ruby-comment cmt"># File lib/jsc.rb, line 19</span>
388
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">libpath</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
389
- <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-value">? </span><span class="ruby-constant">LIBPATH</span> <span class="ruby-operator">:</span> <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">LIBPATH</span>, <span class="ruby-identifier">args</span>.<span class="ruby-identifier">flatten</span>)
390
- <span class="ruby-keyword kw">end</span>
391
- </pre>
392
- </div>
393
- </div>
394
- </div>
395
-
396
- <div id="method-M000006" class="method-detail">
397
- <a name="M000006"></a>
398
-
399
- <div class="method-heading">
400
- <a href="#M000006" class="method-signature">
401
- <span class="method-name">parse_json_output</span><span class="method-args">(response)</span>
402
- </a>
403
- </div>
404
-
405
- <div class="method-description">
406
- <p>
407
- Parses and returns JSON server <em>response</em>
408
- </p>
409
- <p>
410
- Accepted parameters:
411
- </p>
412
- <ul>
413
- <li><b>response</b>: the server response
414
-
415
- </li>
416
- </ul>
417
- <p><a class="source-toggle" href="#"
418
- onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
419
- <div class="method-source-code" id="M000006-source">
420
- <pre>
421
- <span class="ruby-comment cmt"># File lib/jsc/closure_compiler.rb, line 130</span>
422
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_json_output</span>(<span class="ruby-identifier">response</span>)
423
- <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;&quot;</span>
424
- <span class="ruby-identifier">parsed_response</span> = <span class="ruby-constant">JSON</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">response</span>, <span class="ruby-identifier">:max_nesting</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>)
425
-
426
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parsed_response</span>.<span class="ruby-identifier">has_key?</span>(<span class="ruby-value str">&quot;serverErrors&quot;</span>)
427
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">parsed_response</span>[<span class="ruby-value str">'serverErrors'</span>]
428
- <span class="ruby-identifier">error_message</span> = <span class="ruby-node">&quot;Server Error: #{result[0]['error']} \n&quot;</span>
429
- <span class="ruby-identifier">error_message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Error Code: #{result[0]['code']} \n&quot;</span>
430
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">error_message</span>.<span class="ruby-identifier">red</span>
431
- <span class="ruby-comment cmt"># return red, bold, error_message, reset</span>
432
- <span class="ruby-keyword kw">end</span>
433
-
434
- <span class="ruby-keyword kw">case</span> <span class="ruby-ivar">@op</span>
435
- <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;compiled_code&quot;</span>
436
- <span class="ruby-identifier">out</span> = <span class="ruby-identifier">parsed_response</span>[<span class="ruby-value str">'compiledCode'</span>]
437
- <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;statistics&quot;</span>
438
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">parsed_response</span>[<span class="ruby-value str">'statistics'</span>]
439
- <span class="ruby-identifier">out</span> = <span class="ruby-identifier">create_statistics_output</span>(<span class="ruby-identifier">result</span>)
440
- <span class="ruby-keyword kw">else</span> <span class="ruby-value str">&quot;errors&quot;</span>
441
- <span class="ruby-comment cmt">#case for errors or warnings</span>
442
- <span class="ruby-keyword kw">begin</span>
443
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">parsed_response</span>[<span class="ruby-ivar">@op</span>]
444
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">nil?</span>
445
- <span class="ruby-identifier">num</span> = <span class="ruby-identifier">result</span>.<span class="ruby-identifier">size</span>
446
- <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;You've got #{result.size} #{@op}\n&quot;</span>
447
- <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span>
448
- <span class="ruby-identifier">result</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">message</span><span class="ruby-operator">|</span>
449
- <span class="ruby-identifier">i</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
450
- <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;\n#{@op.singularize.capitalize} n.#{i}\n&quot;</span>
451
- <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;\t#{message['type']}: &quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">message</span>[<span class="ruby-ivar">@op</span>.<span class="ruby-identifier">singularize</span>] <span class="ruby-operator">+</span> <span class="ruby-node">&quot; at line #{message['lineno']} character #{message['charno']}\n&quot;</span>
452
- <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\t&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">message</span>[<span class="ruby-value str">'line'</span>] <span class="ruby-operator">+</span> <span class="ruby-value str">&quot;\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">message</span>[<span class="ruby-value str">'line'</span>].<span class="ruby-identifier">nil?</span>
453
- <span class="ruby-keyword kw">end</span>
454
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">out</span>
455
- <span class="ruby-keyword kw">else</span>
456
- <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;No #{@op}&quot;</span>
457
- <span class="ruby-keyword kw">end</span>
458
- <span class="ruby-keyword kw">rescue</span>
459
- <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;Error parsing JSON output...Check your output&quot;</span>
460
- <span class="ruby-keyword kw">end</span>
461
- <span class="ruby-keyword kw">end</span>
462
- <span class="ruby-keyword kw">end</span>
463
- </pre>
464
- </div>
465
- </div>
466
- </div>
467
-
468
- <div id="method-M000011" class="method-detail">
469
- <a name="M000011"></a>
470
-
471
- <div class="method-heading">
472
- <a href="#M000011" class="method-signature">
473
- <span class="method-name">path</span><span class="method-args">( *args )</span>
474
- </a>
475
- </div>
476
-
477
- <div class="method-description">
478
- <p>
479
- Returns the lpath for the module. If any arguments are given, they will be
480
- joined to the end of the <a href="JSCompiler.html#M000011">path</a> using
481
- <tt>File.join</tt>.
482
- </p>
483
- <p><a class="source-toggle" href="#"
484
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
485
- <div class="method-source-code" id="M000011-source">
486
- <pre>
487
- <span class="ruby-comment cmt"># File lib/jsc.rb, line 27</span>
488
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">path</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
489
- <span class="ruby-identifier">args</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-value">? </span><span class="ruby-constant">PATH</span> <span class="ruby-operator">:</span> <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">PATH</span>, <span class="ruby-identifier">args</span>.<span class="ruby-identifier">flatten</span>)
490
- <span class="ruby-keyword kw">end</span>
491
- </pre>
492
- </div>
493
- </div>
494
- </div>
495
-
496
- <div id="method-M000002" class="method-detail">
497
- <a name="M000002"></a>
498
-
499
- <div class="method-heading">
500
- <a href="#M000002" class="method-signature">
501
- <span class="method-name">post_to_cc</span><span class="method-args">(data)</span>
502
- </a>
503
- </div>
504
-
505
- <div class="method-description">
506
- <p>
507
- Sends the JSON request <em>data</em> hash to Google service and returns its
508
- response
509
- </p>
510
- <p><a class="source-toggle" href="#"
511
- onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
512
- <div class="method-source-code" id="M000002-source">
513
- <pre>
514
- <span class="ruby-comment cmt"># File lib/jsc/closure_compiler.rb, line 42</span>
515
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">post_to_cc</span>(<span class="ruby-identifier">data</span>)
516
- <span class="ruby-identifier">post_args</span> = {
517
- <span class="ruby-value str">'js_code'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span>[<span class="ruby-value str">&quot;code&quot;</span>],
518
- <span class="ruby-value str">'compilation_level'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span>[<span class="ruby-value str">&quot;level&quot;</span>],
519
- <span class="ruby-value str">'output_format'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span>[<span class="ruby-value str">&quot;format&quot;</span>],
520
- <span class="ruby-value str">'output_info'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">data</span>[<span class="ruby-value str">&quot;info&quot;</span>]
521
- }
522
-
523
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$debug</span>
524
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;#DEBUG post_args \n&quot;</span>
525
- <span class="ruby-identifier">puts</span> <span class="ruby-identifier">post_args</span>
526
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;\n&quot;</span>
527
- <span class="ruby-keyword kw">end</span>
528
-
529
- <span class="ruby-comment cmt"># send the request</span>
530
- <span class="ruby-identifier">resp</span>, <span class="ruby-identifier">data</span> = <span class="ruby-constant">Net</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTP</span>.<span class="ruby-identifier">post_form</span>(<span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-constant">GOOGLE_SERVICE_ADDRESS</span>), <span class="ruby-identifier">post_args</span>)
531
- <span class="ruby-keyword kw">end</span>
532
- </pre>
533
- </div>
534
- </div>
535
- </div>
536
-
537
- <div id="method-M000007" class="method-detail">
538
- <a name="M000007"></a>
539
-
540
- <div class="method-heading">
541
- <a href="#M000007" class="method-signature">
542
- <span class="method-name">read_file</span><span class="method-args">(file_name)</span>
543
- </a>
544
- </div>
545
-
546
- <div class="method-description">
547
- <p>
548
- Reads file and returns its content
549
- </p>
550
- <p>
551
- Accepted parameters:
552
- </p>
553
- <ul>
554
- <li><b>file_name</b>: the absolute <a href="JSCompiler.html#M000011">path</a>
555
- to the file
556
-
557
- </li>
558
- </ul>
559
- <p><a class="source-toggle" href="#"
560
- onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
561
- <div class="method-source-code" id="M000007-source">
562
- <pre>
563
- <span class="ruby-comment cmt"># File lib/jsc/closure_compiler.rb, line 176</span>
564
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">file_name</span>)
565
- <span class="ruby-keyword kw">begin</span>
566
- <span class="ruby-identifier">content</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file_name</span>).<span class="ruby-identifier">read</span>
567
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">content</span>
568
- <span class="ruby-keyword kw">rescue</span>
569
- <span class="ruby-identifier">raise</span>
570
- <span class="ruby-keyword kw">end</span>
571
- <span class="ruby-keyword kw">end</span>
572
- </pre>
573
- </div>
574
- </div>
575
- </div>
576
-
577
- <div id="method-M000012" class="method-detail">
578
- <a name="M000012"></a>
579
-
580
- <div class="method-heading">
581
- <a href="#M000012" class="method-signature">
582
- <span class="method-name">require_all_libs_relative_to</span><span class="method-args">( fname, dir = nil )</span>
583
- </a>
584
- </div>
585
-
586
- <div class="method-description">
587
- <p>
588
- Utility method used to require all files ending in .rb that lie in the
589
- directory below this file that has the same name as the filename passed in.
590
- Optionally, a specific <em>directory</em> name can be passed in such that
591
- the <em>filename</em> does not have to be equivalent to the directory.
592
- </p>
593
- <p><a class="source-toggle" href="#"
594
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
595
- <div class="method-source-code" id="M000012-source">
596
- <pre>
597
- <span class="ruby-comment cmt"># File lib/jsc.rb, line 36</span>
598
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">require_all_libs_relative_to</span>( <span class="ruby-identifier">fname</span>, <span class="ruby-identifier">dir</span> = <span class="ruby-keyword kw">nil</span> )
599
- <span class="ruby-identifier">dir</span> <span class="ruby-operator">||=</span> <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">fname</span>, <span class="ruby-value str">'.*'</span>)
600
- <span class="ruby-identifier">search_me</span> = <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(
601
- <span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-operator">::</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">fname</span>), <span class="ruby-identifier">dir</span>, <span class="ruby-value str">'**'</span>, <span class="ruby-value str">'*.rb'</span>))
602
-
603
- <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>(<span class="ruby-identifier">search_me</span>).<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">rb</span><span class="ruby-operator">|</span> <span class="ruby-identifier">require</span> <span class="ruby-identifier">rb</span>}
604
- <span class="ruby-keyword kw">end</span>
605
- </pre>
606
- </div>
607
- </div>
608
- </div>
609
-
610
- <div id="method-M000009" class="method-detail">
611
- <a name="M000009"></a>
612
-
613
- <div class="method-heading">
614
- <a href="#M000009" class="method-signature">
615
- <span class="method-name">version</span><span class="method-args">()</span>
616
- </a>
617
- </div>
618
-
619
- <div class="method-description">
620
- <p>
621
- Returns the <a href="JSCompiler.html#M000009">version</a> string for the
622
- library.
623
- </p>
624
- <p><a class="source-toggle" href="#"
625
- onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
626
- <div class="method-source-code" id="M000009-source">
627
- <pre>
628
- <span class="ruby-comment cmt"># File lib/jsc.rb, line 11</span>
629
- <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">version</span>
630
- <span class="ruby-constant">VERSION</span>
631
- <span class="ruby-keyword kw">end</span>
632
- </pre>
633
- </div>
634
- </div>
635
- </div>
636
-
637
-
638
- </div>
639
-
640
-
641
- </div>
642
-
643
-
644
- <div id="validator-badges">
645
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
646
- </div>
647
-
648
- </body>
649
- </html>