radiant-ray-extension 3.0.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. data/LICENSE +19 -0
  2. data/README.markdown +30 -0
  3. data/Rakefile +26 -0
  4. data/bin/ray +5 -0
  5. data/doc/Extension.html +1189 -0
  6. data/doc/Ray.html +175 -0
  7. data/doc/Ray/CLI.html +585 -0
  8. data/doc/Ray/Cache.html +709 -0
  9. data/doc/Ray/Gem.html +760 -0
  10. data/doc/Ray/Git.html +278 -0
  11. data/doc/Ray/GitHub.html +553 -0
  12. data/doc/Ray/RubyGems.html +501 -0
  13. data/doc/Ray/Zip.html +300 -0
  14. data/doc/Search.html +433 -0
  15. data/doc/String.html +242 -0
  16. data/doc/_index.html +84 -0
  17. data/doc/class_list.html +47 -0
  18. data/doc/css/common.css +1 -0
  19. data/doc/css/full_list.css +55 -0
  20. data/doc/css/style.css +322 -0
  21. data/doc/file.LICENSE.html +85 -0
  22. data/doc/file.README.html +97 -0
  23. data/doc/file_list.html +46 -0
  24. data/doc/frames.html +13 -0
  25. data/doc/index.html +84 -0
  26. data/doc/js/app.js +205 -0
  27. data/doc/js/full_list.js +167 -0
  28. data/doc/js/jquery.js +16 -0
  29. data/doc/method_list.html +46 -0
  30. data/doc/top-level-namespace.html +105 -0
  31. data/lib/ray.rb +8 -0
  32. data/lib/ray/cli.rb +271 -0
  33. data/lib/ray/constants.rb +17 -0
  34. data/lib/ray/extension.rb +116 -0
  35. data/lib/ray/extension/gem.rb +96 -0
  36. data/lib/ray/extension/git.rb +30 -0
  37. data/lib/ray/extension/zip.rb +44 -0
  38. data/lib/ray/search.rb +62 -0
  39. data/lib/ray/search/cache.rb +61 -0
  40. data/lib/ray/search/github.rb +40 -0
  41. data/lib/ray/search/rubygems.rb +36 -0
  42. data/lib/ray/string.rb +18 -0
  43. data/ray.gemspec +31 -0
  44. data/spec/fixtures/Gemfile +4 -0
  45. data/spec/fixtures/cache_single.yml +8 -0
  46. data/spec/fixtures/cassettes/github_v2_api_no_matches.yml +38 -0
  47. data/spec/fixtures/cassettes/github_v2_api_search_no_matches.yml +38 -0
  48. data/spec/fixtures/cassettes/github_v2_api_search_reorder_children.yml +75 -0
  49. data/spec/fixtures/cassettes/github_v2_api_search_single.yml +74 -0
  50. data/spec/fixtures/cassettes/github_v3_api_owner_name.yml +75 -0
  51. data/spec/fixtures/cassettes/rubygems_v1_api_gem_info.yml +36 -0
  52. data/spec/fixtures/cassettes/rubygems_v1_api_no_matches.yml +34 -0
  53. data/spec/fixtures/cassettes/rubygems_v1_api_search_no_matches.yml +34 -0
  54. data/spec/fixtures/cassettes/rubygems_v1_api_search_reorder.yml +36 -0
  55. data/spec/fixtures/cassettes/rubygems_v1_api_search_reorder_children.yml +36 -0
  56. data/spec/fixtures/cassettes/rubygems_v1_api_search_single.yml +41 -0
  57. data/spec/fixtures/cassettes/zip_file.yml +101 -0
  58. data/spec/fixtures/dummy.zip +0 -0
  59. data/spec/fixtures/dummy/README +1 -0
  60. data/spec/fixtures/dummy/Rakefile +109 -0
  61. data/spec/fixtures/dummy/config/initializers/radiant_config.rb +3 -0
  62. data/spec/fixtures/dummy/config/locales/en.yml +3 -0
  63. data/spec/fixtures/dummy/config/routes.rb +5 -0
  64. data/spec/fixtures/dummy/dummy_extension.rb +21 -0
  65. data/spec/fixtures/dummy/lib/radiant-dummy-extension.rb +8 -0
  66. data/spec/fixtures/dummy/lib/tasks/dummy_extension_tasks.rake +47 -0
  67. data/spec/fixtures/dummy/public/stylesheets/extensions/dummy/dummy.css +0 -0
  68. data/spec/fixtures/dummy/radiant-dummy-extension.gemspec +29 -0
  69. data/spec/ray/cli_spec.rb +56 -0
  70. data/spec/ray/extension/gem_spec.rb +214 -0
  71. data/spec/ray/extension/git_spec.rb +216 -0
  72. data/spec/ray/extension/zip_spec.rb +239 -0
  73. data/spec/ray/search/cache_spec.rb +74 -0
  74. data/spec/ray/search/github_spec.rb +137 -0
  75. data/spec/ray/search/rubygems_spec.rb +127 -0
  76. data/spec/ray/string_spec.rb +30 -0
  77. data/spec/spec_helper.rb +27 -0
  78. metadata +205 -0
@@ -0,0 +1,175 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Module: Ray
8
+
9
+ &mdash; Documentation by YARD 0.7.3
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="_index.html">Index (R)</a> &raquo;
37
+
38
+
39
+ <span class="title">Ray</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Module: Ray
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dt class="r1 last">Defined in:</dt>
75
+ <dd class="r1 last">lib/ray/constants.rb<span class="defines">,<br />
76
+ lib/ray/cli.rb,<br /> lib/ray/search/cache.rb,<br /> lib/ray/search/github.rb,<br /> lib/ray/extension/gem.rb,<br /> lib/ray/extension/zip.rb,<br /> lib/ray/extension/git.rb,<br /> lib/ray/search/rubygems.rb</span>
77
+ </dd>
78
+
79
+ </dl>
80
+ <div class="clear"></div>
81
+
82
+ <h2>Overview</h2><div class="docstring">
83
+ <div class="discussion">
84
+ <p>Friendly extension management for Radiant CMS</p>
85
+
86
+
87
+ </div>
88
+ </div>
89
+ <div class="tags">
90
+
91
+
92
+ </div><h2>Defined Under Namespace</h2>
93
+ <p class="children">
94
+
95
+
96
+
97
+
98
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Ray/CLI.html" title="Ray::CLI (class)">CLI</a></span>, <span class='object_link'><a href="Ray/Cache.html" title="Ray::Cache (class)">Cache</a></span>, <span class='object_link'><a href="Ray/Gem.html" title="Ray::Gem (class)">Gem</a></span>, <span class='object_link'><a href="Ray/Git.html" title="Ray::Git (class)">Git</a></span>, <span class='object_link'><a href="Ray/GitHub.html" title="Ray::GitHub (class)">GitHub</a></span>, <span class='object_link'><a href="Ray/RubyGems.html" title="Ray::RubyGems (class)">RubyGems</a></span>, <span class='object_link'><a href="Ray/Zip.html" title="Ray::Zip (class)">Zip</a></span>
99
+
100
+
101
+ </p>
102
+
103
+ <h2>Constant Summary</h2>
104
+
105
+ <dl class="constants">
106
+
107
+ <dt id="VERSION-constant" class="">VERSION =
108
+
109
+ </dt>
110
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>3.0.0.alpha</span><span class='tstring_end'>&quot;</span></span></pre></dd>
111
+
112
+ <dt id="RAY-constant" class="">RAY =
113
+
114
+ </dt>
115
+ <dd><pre class="code"><span class='const'>File</span><span class='period'>.</span><span class='id expand_path'>expand_path</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>~/.ray</span><span class='tstring_end'>&quot;</span></span></pre></dd>
116
+
117
+ <dt id="CACHE-constant" class="">CACHE =
118
+
119
+ </dt>
120
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'>RAY</span><span class='rbrace'>}</span><span class='tstring_content'>/cache.yml</span><span class='tstring_end'>&quot;</span></span></pre></dd>
121
+
122
+ <dt id="ROOT-constant" class="">ROOT =
123
+
124
+ </dt>
125
+ <dd><pre class="code"><span class='const'>File</span><span class='period'>.</span><span class='id expand_path'>expand_path</span> <span class='const'>Dir</span><span class='period'>.</span><span class='id pwd'>pwd</span></pre></dd>
126
+
127
+ <dt id="GEMFILE-constant" class="">GEMFILE =
128
+
129
+ </dt>
130
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'>ROOT</span><span class='rbrace'>}</span><span class='tstring_content'>/Gemfile</span><span class='tstring_end'>&quot;</span></span></pre></dd>
131
+
132
+ <dt id="EXT_DIR-constant" class="">EXT_DIR =
133
+
134
+ </dt>
135
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'>ROOT</span><span class='rbrace'>}</span><span class='tstring_content'>/vendor/extensions</span><span class='tstring_end'>&quot;</span></span></pre></dd>
136
+
137
+ <dt id="TMP_DIR-constant" class="">TMP_DIR =
138
+
139
+ </dt>
140
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='const'>ROOT</span><span class='rbrace'>}</span><span class='tstring_content'>/tmp/ray</span><span class='tstring_end'>&quot;</span></span></pre></dd>
141
+
142
+ <dt id="RG_V1_API-constant" class="">RG_V1_API =
143
+
144
+ </dt>
145
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>http://rubygems.org/api/v1</span><span class='tstring_end'>&quot;</span></span></pre></dd>
146
+
147
+ <dt id="GH_V2_API-constant" class="">GH_V2_API =
148
+
149
+ </dt>
150
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>http://github.com/api/v2/json</span><span class='tstring_end'>&quot;</span></span></pre></dd>
151
+
152
+ <dt id="GH_V3_API-constant" class="">GH_V3_API =
153
+
154
+ </dt>
155
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>https://api.github.com</span><span class='tstring_end'>&quot;</span></span></pre></dd>
156
+
157
+ </dl>
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+ </div>
167
+
168
+ <div id="footer">
169
+ Generated on Sun Nov 20 20:26:43 2011 by
170
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
171
+ 0.7.3 (ruby-1.9.3).
172
+ </div>
173
+
174
+ </body>
175
+ </html>
@@ -0,0 +1,585 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Ray::CLI
8
+
9
+ &mdash; Documentation by YARD 0.7.3
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../_index.html">Index (C)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../Ray.html" title="Ray (module)">Ray</a></span></span>
38
+ &raquo;
39
+ <span class="title">CLI</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Class: Ray::CLI
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+ <dt class="r1">Inherits:</dt>
68
+ <dd class="r1">
69
+ <span class="inheritName">Thor</span>
70
+
71
+ <ul class="fullTree">
72
+ <li>Object</li>
73
+
74
+ <li class="next">Thor</li>
75
+
76
+ <li class="next">Ray::CLI</li>
77
+
78
+ </ul>
79
+ <a href="#" class="inheritanceTree">show all</a>
80
+
81
+ </dd>
82
+
83
+
84
+
85
+
86
+
87
+
88
+ <dt class="r2">Includes:</dt>
89
+ <dd class="r2">Thor::Actions, Thor::Shell</dd>
90
+
91
+
92
+
93
+
94
+
95
+ <dt class="r1 last">Defined in:</dt>
96
+ <dd class="r1 last">lib/ray/cli.rb</dd>
97
+
98
+ </dl>
99
+ <div class="clear"></div>
100
+
101
+ <h2>Overview</h2><div class="docstring">
102
+ <div class="discussion">
103
+ <p>This is the CLI for Ray.
104
+ If you&rsquo;re trying to figure out how to use the Ray CLI
105
+ refer to the <a href="http://goo.gl/5UtP8">User Manual</a> instead.</p>
106
+
107
+
108
+ </div>
109
+ </div>
110
+ <div class="tags">
111
+
112
+
113
+ </div>
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+ <h2>
126
+ Instance Method Summary
127
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
128
+ </h2>
129
+
130
+ <ul class="summary">
131
+
132
+ <li class="public ">
133
+ <span class="summary_signature">
134
+
135
+ <a href="#cache-instance_method" title="#cache (instance method)">- (Object) <strong>cache</strong> </a>
136
+
137
+
138
+
139
+ </span>
140
+
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+ <span class="summary_desc"><div class='inline'>
149
+ </div></span>
150
+
151
+ </li>
152
+
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#install-instance_method" title="#install (instance method)">- (Object) <strong>install</strong>(*extensions) </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ <span class="summary_desc"><div class='inline'>
171
+ </div></span>
172
+
173
+ </li>
174
+
175
+
176
+ <li class="public ">
177
+ <span class="summary_signature">
178
+
179
+ <a href="#search-instance_method" title="#search (instance method)">- (Object) <strong>search</strong>(query) </a>
180
+
181
+
182
+
183
+ </span>
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+ <span class="summary_desc"><div class='inline'>
193
+ </div></span>
194
+
195
+ </li>
196
+
197
+
198
+ <li class="public ">
199
+ <span class="summary_signature">
200
+
201
+ <a href="#version-instance_method" title="#version (instance method)">- (Object) <strong>version</strong> </a>
202
+
203
+
204
+
205
+ </span>
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+
214
+ <span class="summary_desc"><div class='inline'>
215
+ </div></span>
216
+
217
+ </li>
218
+
219
+
220
+ </ul>
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+ <div id="instance_method_details" class="method_details_list">
229
+ <h2>Instance Method Details</h2>
230
+
231
+
232
+ <div class="method_details first">
233
+ <p class="signature first" id="cache-instance_method">
234
+
235
+ - (<tt>Object</tt>) <strong>cache</strong>
236
+
237
+
238
+
239
+ </p><table class="source_code">
240
+ <tr>
241
+ <td>
242
+ <pre class="lines">
243
+
244
+
245
+ 191
246
+ 192
247
+ 193
248
+ 194
249
+ 195
250
+ 196
251
+ 197
252
+ 198</pre>
253
+ </td>
254
+ <td>
255
+ <pre class="code"><span class="info file"># File 'lib/ray/cli.rb', line 191</span>
256
+
257
+ <span class='kw'>def</span> <span class='id cache'>cache</span>
258
+ <span class='kw'>if</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>clear</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
259
+ <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id clear'>clear</span>
260
+ <span class='kw'>else</span>
261
+ <span class='id require'>require</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>pp</span><span class='tstring_end'>&quot;</span></span>
262
+ <span class='id say'>say</span> <span class='const'>File</span><span class='period'>.</span><span class='id read'>read</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>CACHE</span>
263
+ <span class='kw'>end</span>
264
+ <span class='kw'>end</span></pre>
265
+ </td>
266
+ </tr>
267
+ </table>
268
+ </div>
269
+
270
+ <div class="method_details ">
271
+ <p class="signature " id="install-instance_method">
272
+
273
+ - (<tt>Object</tt>) <strong>install</strong>(*extensions)
274
+
275
+
276
+
277
+ </p><table class="source_code">
278
+ <tr>
279
+ <td>
280
+ <pre class="lines">
281
+
282
+
283
+ 92
284
+ 93
285
+ 94
286
+ 95
287
+ 96
288
+ 97
289
+ 98
290
+ 99
291
+ 100
292
+ 101
293
+ 102
294
+ 103
295
+ 104
296
+ 105
297
+ 106
298
+ 107
299
+ 108
300
+ 109
301
+ 110
302
+ 111
303
+ 112
304
+ 113
305
+ 114
306
+ 115
307
+ 116
308
+ 117
309
+ 118
310
+ 119
311
+ 120
312
+ 121
313
+ 122
314
+ 123
315
+ 124
316
+ 125
317
+ 126
318
+ 127
319
+ 128
320
+ 129
321
+ 130
322
+ 131
323
+ 132
324
+ 133
325
+ 134
326
+ 135
327
+ 136
328
+ 137
329
+ 138
330
+ 139
331
+ 140
332
+ 141
333
+ 142
334
+ 143
335
+ 144
336
+ 145
337
+ 146
338
+ 147
339
+ 148
340
+ 149
341
+ 150
342
+ 151
343
+ 152
344
+ 153
345
+ 154
346
+ 155
347
+ 156
348
+ 157
349
+ 158
350
+ 159
351
+ 160
352
+ 161
353
+ 162
354
+ 163
355
+ 164
356
+ 165
357
+ 166
358
+ 167
359
+ 168
360
+ 169
361
+ 170
362
+ 171
363
+ 172
364
+ 173
365
+ 174
366
+ 175
367
+ 176
368
+ 177
369
+ 178
370
+ 179
371
+ 180
372
+ 181
373
+ 182
374
+ 183
375
+ 184
376
+ 185
377
+ 186
378
+ 187</pre>
379
+ </td>
380
+ <td>
381
+ <pre class="code"><span class="info file"># File 'lib/ray/cli.rb', line 92</span>
382
+
383
+ <span class='kw'>def</span> <span class='id install'>install</span> <span class='op'>*</span><span class='id extensions'>extensions</span>
384
+ <span class='kw'>if</span> <span class='id extensions'>extensions</span><span class='period'>.</span><span class='id empty?'>empty?</span>
385
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>You didn't list any extensions to install</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:red</span>
386
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Try: ray help install</span><span class='tstring_end'>&quot;</span></span>
387
+ <span class='id exit'>exit</span> <span class='int'>1</span>
388
+ <span class='kw'>end</span>
389
+
390
+ <span class='kw'>case</span>
391
+ <span class='kw'>when</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>gem</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='comment'># --gem
392
+ </span> <span class='kw'>if</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>gem</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>gem</span><span class='tstring_end'>&quot;</span></span> <span class='comment'># no uri was passed to --gem
393
+ </span> <span class='id extensions'>extensions</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id extension'>extension</span><span class='op'>|</span>
394
+ <span class='id search'>search</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id new'>new</span> <span class='id extension'>extension</span> <span class='comment'># first we search the cache
395
+ </span> <span class='kw'>if</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='comment'># when there are no cache hits
396
+ </span> <span class='id search'>search</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>RubyGems</span><span class='period'>.</span><span class='id new'>new</span> <span class='id extension'>extension</span> <span class='comment'># then search rubygems
397
+ </span> <span class='kw'>else</span> <span class='comment'># when there are cache hits
398
+ </span> <span class='id results'>results</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
399
+ <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id select'>select</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id name'>name</span><span class='comma'>,</span> <span class='id info'>info</span><span class='op'>|</span> <span class='comment'># filter out non-gem extensions
400
+ </span> <span class='id info'>info</span><span class='lbracket'>[</span><span class='symbol'>:uri</span><span class='rbracket'>]</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>rubygems</span><span class='regexp_end'>/</span></span>
401
+ <span class='kw'>end</span><span class='period'>.</span><span class='id map'>map</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id extension'>extension</span><span class='op'>|</span>
402
+ <span class='id results'>results</span><span class='lbracket'>[</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id first'>first</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id extension'>extension</span><span class='period'>.</span><span class='id last'>last</span> <span class='comment'># rebuild the results hash
403
+ </span> <span class='kw'>end</span>
404
+ <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span> <span class='op'>=</span> <span class='id results'>results</span> <span class='comment'># reset the results hash
405
+ </span> <span class='kw'>end</span>
406
+ <span class='kw'>if</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>==</span> <span class='int'>1</span> <span class='comment'># when there is just one match
407
+ </span> <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Gem</span><span class='period'>.</span><span class='id new'>new</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id first'>first</span><span class='period'>.</span><span class='id last'>last</span> <span class='comment'># that's our extension
408
+ </span> <span class='kw'>else</span> <span class='comment'># when there is more than one match
409
+ </span> <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Gem</span><span class='period'>.</span><span class='id new'>new</span> <span class='id search'>search</span><span class='period'>.</span><span class='id multiple_choice'>multiple_choice</span> <span class='comment'># make the user pick
410
+ </span> <span class='kw'>end</span>
411
+ <span class='id extension'>extension</span><span class='period'>.</span><span class='id install'>install</span> <span class='comment'># install the extension
412
+ </span> <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> =&gt; Installation complete!</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:green</span>
413
+ <span class='kw'>end</span>
414
+ <span class='kw'>else</span> <span class='comment'># a uri was passed to --gem
415
+ </span> <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Gem</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='lbrace'>{</span> <span class='comment'># instantiate with minimal info
416
+ </span> <span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='id extensions'>extensions</span><span class='period'>.</span><span class='id first'>first</span><span class='comma'>,</span> <span class='comment'># nothing works without a name
417
+ </span> <span class='symbol'>:uri</span> <span class='op'>=&gt;</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>gem</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='comment'># uri should be a git repo
418
+ </span> <span class='rbrace'>}</span><span class='rparen'>)</span>
419
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> =&gt; Adding to Gemfile...</span><span class='tstring_end'>&quot;</span></span>
420
+ <span class='id name'>name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>radiant-</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>-extension</span><span class='tstring_end'>&quot;</span></span>
421
+ <span class='const'>File</span><span class='period'>.</span><span class='id open'>open</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>GEMFILE</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>a</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id gemfile'>gemfile</span><span class='op'>|</span>
422
+ <span class='id gemfile'>gemfile</span><span class='period'>.</span><span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>gem \&quot;</span><span class='embexpr_beg'>#{</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>\&quot;, :git =&gt; \&quot;</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id uri'>uri</span><span class='rbrace'>}</span><span class='tstring_content'>\&quot;</span><span class='tstring_end'>&quot;</span></span> <span class='comment'># add it to the gemfile
423
+ </span> <span class='kw'>end</span>
424
+ <span class='id extension'>extension</span><span class='period'>.</span><span class='id bundle'>bundle</span> <span class='comment'># we don't use install here
425
+ </span> <span class='id extension'>extension</span><span class='period'>.</span><span class='id copy_tasks'>copy_tasks</span> <span class='comment'># because add_gem only works
426
+ </span> <span class='id extension'>extension</span><span class='period'>.</span><span class='id run_tasks'>run_tasks</span> <span class='comment'># with released gem extensions
427
+ </span> <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> =&gt; Installation complete!</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:green</span>
428
+ <span class='kw'>end</span>
429
+ <span class='kw'>when</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>git</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
430
+ <span class='kw'>if</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>git</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>git</span><span class='tstring_end'>&quot;</span></span>
431
+ <span class='id extensions'>extensions</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id extension'>extension</span><span class='op'>|</span>
432
+ <span class='id search'>search</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id new'>new</span> <span class='id extension'>extension</span> <span class='comment'># first we search the cache
433
+ </span> <span class='kw'>if</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='comment'># when there are no cache hits
434
+ </span> <span class='id search'>search</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>GitHub</span><span class='period'>.</span><span class='id new'>new</span> <span class='id extension'>extension</span> <span class='comment'># then search github
435
+ </span> <span class='kw'>end</span>
436
+ <span class='kw'>if</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>==</span> <span class='int'>1</span> <span class='comment'># when there is just one match
437
+ </span> <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Git</span><span class='period'>.</span><span class='id new'>new</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id first'>first</span><span class='period'>.</span><span class='id last'>last</span> <span class='comment'># that's our extension
438
+ </span> <span class='kw'>else</span> <span class='comment'># when there is more than one match
439
+ </span> <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Git</span><span class='period'>.</span><span class='id new'>new</span> <span class='id search'>search</span><span class='period'>.</span><span class='id multiple_choice'>multiple_choice</span> <span class='comment'># make the user pick
440
+ </span> <span class='kw'>end</span>
441
+ <span class='id extension'>extension</span><span class='period'>.</span><span class='id install'>install</span> <span class='comment'># install the extension
442
+ </span> <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> =&gt; Installation complete!</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:green</span>
443
+ <span class='kw'>end</span>
444
+ <span class='kw'>else</span>
445
+ <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Git</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='lbrace'>{</span> <span class='comment'># instantiate with minimal info
446
+ </span> <span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='id extensions'>extensions</span><span class='period'>.</span><span class='id first'>first</span><span class='comma'>,</span> <span class='comment'># nothing works without a name
447
+ </span> <span class='symbol'>:uri</span> <span class='op'>=&gt;</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>git</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='comment'># uri should be a git repo
448
+ </span> <span class='rbrace'>}</span><span class='rparen'>)</span>
449
+ <span class='id extension'>extension</span><span class='period'>.</span><span class='id install'>install</span> <span class='comment'># install the extension
450
+ </span> <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> =&gt; Installation complete!</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:green</span>
451
+ <span class='kw'>end</span>
452
+ <span class='kw'>when</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>zip</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
453
+ <span class='kw'>if</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>zip</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>zip</span><span class='tstring_end'>&quot;</span></span>
454
+ <span class='id extensions'>extensions</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id extension'>extension</span><span class='op'>|</span>
455
+ <span class='id search'>search</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id new'>new</span> <span class='id extension'>extension</span> <span class='comment'># first we search the cache
456
+ </span> <span class='kw'>if</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='comment'># when there are no cache hits
457
+ </span> <span class='id search'>search</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>GitHub</span><span class='period'>.</span><span class='id new'>new</span> <span class='id extension'>extension</span> <span class='comment'># then search github
458
+ </span> <span class='kw'>end</span>
459
+ <span class='kw'>if</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>==</span> <span class='int'>1</span> <span class='comment'># when there is just one match
460
+ </span> <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Zip</span><span class='period'>.</span><span class='id new'>new</span> <span class='id search'>search</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id first'>first</span><span class='period'>.</span><span class='id last'>last</span> <span class='comment'># that's our extension
461
+ </span> <span class='kw'>else</span> <span class='comment'># when there is more than one match
462
+ </span> <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Zip</span><span class='period'>.</span><span class='id new'>new</span> <span class='id search'>search</span><span class='period'>.</span><span class='id multiple_choice'>multiple_choice</span> <span class='comment'># make the user pick
463
+ </span> <span class='kw'>end</span>
464
+ <span class='id extension'>extension</span><span class='period'>.</span><span class='id install'>install</span> <span class='comment'># install the extension
465
+ </span> <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> =&gt; Installation complete!</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:green</span>
466
+ <span class='kw'>end</span>
467
+ <span class='kw'>else</span>
468
+ <span class='id extension'>extension</span> <span class='op'>=</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Zip</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='lbrace'>{</span> <span class='comment'># instantiate with minimal info
469
+ </span> <span class='symbol'>:name</span> <span class='op'>=&gt;</span> <span class='id extensions'>extensions</span><span class='period'>.</span><span class='id first'>first</span><span class='comma'>,</span> <span class='comment'># nothing works without a name
470
+ </span> <span class='symbol'>:uri</span> <span class='op'>=&gt;</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>zip</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='comment'># uri should be a zip archive
471
+ </span> <span class='rbrace'>}</span><span class='rparen'>)</span>
472
+ <span class='id extension'>extension</span><span class='period'>.</span><span class='id install'>install</span> <span class='comment'># install the extension
473
+ </span> <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id extension'>extension</span><span class='period'>.</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> =&gt; Installation complete!</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='symbol'>:green</span>
474
+ <span class='kw'>end</span>
475
+ <span class='kw'>else</span>
476
+ <span class='id p'>p</span> <span class='id options'>options</span>
477
+ <span class='kw'>end</span>
478
+ <span class='kw'>end</span></pre>
479
+ </td>
480
+ </tr>
481
+ </table>
482
+ </div>
483
+
484
+ <div class="method_details ">
485
+ <p class="signature " id="search-instance_method">
486
+
487
+ - (<tt>Object</tt>) <strong>search</strong>(query)
488
+
489
+
490
+
491
+ </p><table class="source_code">
492
+ <tr>
493
+ <td>
494
+ <pre class="lines">
495
+
496
+
497
+ 56
498
+ 57
499
+ 58
500
+ 59
501
+ 60
502
+ 61
503
+ 62
504
+ 63
505
+ 64
506
+ 65
507
+ 66
508
+ 67
509
+ 68
510
+ 69
511
+ 70
512
+ 71
513
+ 72
514
+ 73
515
+ 74</pre>
516
+ </td>
517
+ <td>
518
+ <pre class="code"><span class="info file"># File 'lib/ray/cli.rb', line 56</span>
519
+
520
+ <span class='kw'>def</span> <span class='id search'>search</span> <span class='id query'>query</span>
521
+ <span class='id search'>search</span> <span class='op'>=</span> <span class='kw'>case</span>
522
+ <span class='kw'>when</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>github</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
523
+ <span class='const'>Ray</span><span class='op'>::</span><span class='const'>GitHub</span><span class='period'>.</span><span class='id new'>new</span> <span class='id query'>query</span>
524
+ <span class='kw'>when</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>rubygems</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
525
+ <span class='const'>Ray</span><span class='op'>::</span><span class='const'>RubyGems</span><span class='period'>.</span><span class='id new'>new</span> <span class='id query'>query</span>
526
+ <span class='kw'>when</span> <span class='id options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>live</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
527
+ <span class='const'>Ray</span><span class='op'>::</span><span class='const'>GitHub</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id query'>query</span><span class='rparen'>)</span><span class='period'>.</span><span class='id merge'>merge</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>RubyGems</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id query'>query</span><span class='rparen'>)</span>
528
+ <span class='kw'>else</span>
529
+ <span class='kw'>if</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id query'>query</span><span class='rparen'>)</span><span class='period'>.</span><span class='id results'>results</span><span class='period'>.</span><span class='id empty?'>empty?</span>
530
+ <span class='const'>Ray</span><span class='op'>::</span><span class='const'>GitHub</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id query'>query</span><span class='rparen'>)</span><span class='period'>.</span><span class='id merge'>merge</span> <span class='const'>Ray</span><span class='op'>::</span><span class='const'>RubyGems</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id query'>query</span><span class='rparen'>)</span>
531
+ <span class='kw'>else</span>
532
+ <span class='const'>Ray</span><span class='op'>::</span><span class='const'>Cache</span><span class='period'>.</span><span class='id new'>new</span> <span class='id query'>query</span>
533
+ <span class='kw'>end</span>
534
+ <span class='kw'>end</span>
535
+
536
+ <span class='id search'>search</span><span class='period'>.</span><span class='id cache'>cache</span>
537
+ <span class='id say'>say</span> <span class='id search'>search</span><span class='period'>.</span><span class='id output'>output</span>
538
+ <span class='kw'>end</span></pre>
539
+ </td>
540
+ </tr>
541
+ </table>
542
+ </div>
543
+
544
+ <div class="method_details ">
545
+ <p class="signature " id="version-instance_method">
546
+
547
+ - (<tt>Object</tt>) <strong>version</strong>
548
+
549
+
550
+
551
+ </p><table class="source_code">
552
+ <tr>
553
+ <td>
554
+ <pre class="lines">
555
+
556
+
557
+ 29
558
+ 30
559
+ 31
560
+ 32</pre>
561
+ </td>
562
+ <td>
563
+ <pre class="code"><span class="info file"># File 'lib/ray/cli.rb', line 29</span>
564
+
565
+ <span class='kw'>def</span> <span class='id version'>version</span>
566
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Friendly extension management for Radiant CMS</span><span class='tstring_end'>&quot;</span></span>
567
+ <span class='id say'>say</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Version: </span><span class='embexpr_beg'>#{</span><span class='const'>Ray</span><span class='op'>::</span><span class='const'>VERSION</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
568
+ <span class='kw'>end</span></pre>
569
+ </td>
570
+ </tr>
571
+ </table>
572
+ </div>
573
+
574
+ </div>
575
+
576
+ </div>
577
+
578
+ <div id="footer">
579
+ Generated on Sun Nov 20 20:26:43 2011 by
580
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
581
+ 0.7.3 (ruby-1.9.3).
582
+ </div>
583
+
584
+ </body>
585
+ </html>