reap 4.0 → 4.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (181) hide show
  1. data/ProjectInfo +18 -6
  2. data/lib/reap/bin/reap.rb +47 -16
  3. data/lib/reap/interface/interface.rb +0 -0
  4. data/lib/reap/interface/rubyforge.rb +247 -0
  5. data/lib/reap/lint.rb +1 -0
  6. data/lib/reap/projectinfo.rb +47 -18
  7. data/lib/reap/reap.rb +0 -0
  8. data/lib/reap/task/announce.rb +11 -13
  9. data/lib/reap/task/fileperm.rb +2 -5
  10. data/lib/reap/task/info.rb +2 -4
  11. data/lib/reap/task/install.rb +1 -3
  12. data/lib/reap/task/noop.rb +1 -3
  13. data/lib/reap/task/package.rb +163 -65
  14. data/lib/reap/task/publish.rb +2 -4
  15. data/lib/reap/task/rdoc.rb +1 -3
  16. data/lib/reap/task/release.rb +273 -0
  17. data/lib/reap/task/test.rb +19 -5
  18. data/lib/reap/task/testext.rb +5 -5
  19. data/lib/reap/task.rb +94 -69
  20. metadata +70 -256
  21. data/dev/Rakefile +0 -60
  22. data/dev/composite_task.rb +0 -27
  23. data/dev/compositepublisher.rb +0 -24
  24. data/dev/ftptools.rb +0 -139
  25. data/dev/license-each.rb +0 -85
  26. data/dev/publisher.rb +0 -75
  27. data/dev/rubyforgepublisher.rb +0 -18
  28. data/dev/sshpublisher.rb +0 -47
  29. data/dev/suby-cvs.rb +0 -46
  30. data/dev/template.rb +0 -72
  31. data/lib/reap/readymade.rb +0 -21
  32. data/lib/reap/task/webpublish.rb +0 -43
  33. data/lib/reap/tasks.rb +0 -13
  34. data/lib/reap/test.rb +0 -138
  35. data/web/ProjectInfo +0 -57
  36. data/web/images/appleboy.jpg +0 -0
  37. data/web/images/grape.jpg +0 -0
  38. data/web/index.html +0 -124
  39. data/web/rdoc/classes/Object.html +0 -121
  40. data/web/rdoc/classes/ProjectInfo.html +0 -207
  41. data/web/rdoc/classes/ProjectInfo.src/M000094.html +0 -18
  42. data/web/rdoc/classes/ProjectInfo.src/M000095.html +0 -24
  43. data/web/rdoc/classes/ProjectInfo.src/M000096.html +0 -22
  44. data/web/rdoc/classes/ProjectInfo.src/M000097.html +0 -21
  45. data/web/rdoc/classes/ProjectInfo.src/M000098.html +0 -18
  46. data/web/rdoc/classes/Reap/Announce.html +0 -262
  47. data/web/rdoc/classes/Reap/Announce.src/M000030.html +0 -18
  48. data/web/rdoc/classes/Reap/Announce.src/M000031.html +0 -114
  49. data/web/rdoc/classes/Reap/Announce.src/M000032.html +0 -46
  50. data/web/rdoc/classes/Reap/Info.html +0 -176
  51. data/web/rdoc/classes/Reap/Info.src/M000033.html +0 -18
  52. data/web/rdoc/classes/Reap/Info.src/M000034.html +0 -17
  53. data/web/rdoc/classes/Reap/Info.src/M000035.html +0 -18
  54. data/web/rdoc/classes/Reap/Install.html +0 -193
  55. data/web/rdoc/classes/Reap/Install.src/M000036.html +0 -18
  56. data/web/rdoc/classes/Reap/Install.src/M000037.html +0 -20
  57. data/web/rdoc/classes/Reap/Install.src/M000038.html +0 -26
  58. data/web/rdoc/classes/Reap/Noop.html +0 -192
  59. data/web/rdoc/classes/Reap/Noop.src/M000027.html +0 -18
  60. data/web/rdoc/classes/Reap/Noop.src/M000028.html +0 -17
  61. data/web/rdoc/classes/Reap/Noop.src/M000029.html +0 -18
  62. data/web/rdoc/classes/Reap/Package.html +0 -310
  63. data/web/rdoc/classes/Reap/Package.src/M000055.html +0 -18
  64. data/web/rdoc/classes/Reap/Package.src/M000056.html +0 -68
  65. data/web/rdoc/classes/Reap/Package.src/M000057.html +0 -84
  66. data/web/rdoc/classes/Reap/Package.src/M000058.html +0 -61
  67. data/web/rdoc/classes/Reap/Perm.html +0 -236
  68. data/web/rdoc/classes/Reap/Perm.src/M000078.html +0 -18
  69. data/web/rdoc/classes/Reap/Perm.src/M000079.html +0 -21
  70. data/web/rdoc/classes/Reap/Perm.src/M000080.html +0 -42
  71. data/web/rdoc/classes/Reap/Perm.src/M000081.html +0 -26
  72. data/web/rdoc/classes/Reap/Perm.src/M000082.html +0 -18
  73. data/web/rdoc/classes/Reap/Publish.html +0 -213
  74. data/web/rdoc/classes/Reap/Publish.src/M000070.html +0 -18
  75. data/web/rdoc/classes/Reap/Publish.src/M000071.html +0 -22
  76. data/web/rdoc/classes/Reap/Publish.src/M000072.html +0 -37
  77. data/web/rdoc/classes/Reap/RDoc.html +0 -218
  78. data/web/rdoc/classes/Reap/RDoc.src/M000059.html +0 -18
  79. data/web/rdoc/classes/Reap/RDoc.src/M000060.html +0 -24
  80. data/web/rdoc/classes/Reap/RDoc.src/M000061.html +0 -70
  81. data/web/rdoc/classes/Reap/Task.html +0 -396
  82. data/web/rdoc/classes/Reap/Task.src/M000039.html +0 -18
  83. data/web/rdoc/classes/Reap/Task.src/M000040.html +0 -16
  84. data/web/rdoc/classes/Reap/Task.src/M000041.html +0 -16
  85. data/web/rdoc/classes/Reap/Task.src/M000042.html +0 -16
  86. data/web/rdoc/classes/Reap/Task.src/M000043.html +0 -16
  87. data/web/rdoc/classes/Reap/Task.src/M000044.html +0 -22
  88. data/web/rdoc/classes/Reap/Task.src/M000045.html +0 -16
  89. data/web/rdoc/classes/Reap/Task.src/M000046.html +0 -16
  90. data/web/rdoc/classes/Reap/Task.src/M000047.html +0 -16
  91. data/web/rdoc/classes/Reap/Task.src/M000048.html +0 -16
  92. data/web/rdoc/classes/Reap/Task.src/M000049.html +0 -16
  93. data/web/rdoc/classes/Reap/Task.src/M000050.html +0 -27
  94. data/web/rdoc/classes/Reap/Task.src/M000051.html +0 -19
  95. data/web/rdoc/classes/Reap/Task.src/M000052.html +0 -18
  96. data/web/rdoc/classes/Reap/Task.src/M000053.html +0 -18
  97. data/web/rdoc/classes/Reap/Task.src/M000054.html +0 -19
  98. data/web/rdoc/classes/Reap/Test/TestResults.html +0 -205
  99. data/web/rdoc/classes/Reap/Test/TestResults.src/M000067.html +0 -21
  100. data/web/rdoc/classes/Reap/Test/TestResults.src/M000068.html +0 -21
  101. data/web/rdoc/classes/Reap/Test/TestResults.src/M000069.html +0 -23
  102. data/web/rdoc/classes/Reap/Test.html +0 -253
  103. data/web/rdoc/classes/Reap/Test.src/M000062.html +0 -18
  104. data/web/rdoc/classes/Reap/Test.src/M000063.html +0 -26
  105. data/web/rdoc/classes/Reap/Test.src/M000064.html +0 -77
  106. data/web/rdoc/classes/Reap/Test.src/M000065.html +0 -27
  107. data/web/rdoc/classes/Reap/Test.src/M000066.html +0 -50
  108. data/web/rdoc/classes/Reap/TestExt.html +0 -234
  109. data/web/rdoc/classes/Reap/TestExt.src/M000073.html +0 -18
  110. data/web/rdoc/classes/Reap/TestExt.src/M000074.html +0 -20
  111. data/web/rdoc/classes/Reap/TestExt.src/M000075.html +0 -49
  112. data/web/rdoc/classes/Reap/TestExt.src/M000076.html +0 -34
  113. data/web/rdoc/classes/Reap/TestExt.src/M000077.html +0 -27
  114. data/web/rdoc/classes/Reap/WebPublish.html +0 -213
  115. data/web/rdoc/classes/Reap/WebPublish.src/M000083.html +0 -18
  116. data/web/rdoc/classes/Reap/WebPublish.src/M000084.html +0 -21
  117. data/web/rdoc/classes/Reap/WebPublish.src/M000085.html +0 -32
  118. data/web/rdoc/classes/Reap.html +0 -248
  119. data/web/rdoc/classes/Reap.src/M000023.html +0 -16
  120. data/web/rdoc/classes/Reap.src/M000024.html +0 -21
  121. data/web/rdoc/classes/Reap.src/M000025.html +0 -16
  122. data/web/rdoc/classes/Reap.src/M000026.html +0 -21
  123. data/web/rdoc/classes/ReapCommand.html +0 -425
  124. data/web/rdoc/classes/ReapCommand.src/M000001.html +0 -16
  125. data/web/rdoc/classes/ReapCommand.src/M000003.html +0 -16
  126. data/web/rdoc/classes/ReapCommand.src/M000005.html +0 -16
  127. data/web/rdoc/classes/ReapCommand.src/M000007.html +0 -16
  128. data/web/rdoc/classes/ReapCommand.src/M000009.html +0 -16
  129. data/web/rdoc/classes/ReapCommand.src/M000011.html +0 -16
  130. data/web/rdoc/classes/ReapCommand.src/M000013.html +0 -18
  131. data/web/rdoc/classes/ReapCommand.src/M000014.html +0 -19
  132. data/web/rdoc/classes/ReapCommand.src/M000015.html +0 -19
  133. data/web/rdoc/classes/ReapCommand.src/M000016.html +0 -24
  134. data/web/rdoc/classes/ReapCommand.src/M000018.html +0 -29
  135. data/web/rdoc/classes/Scaffold.html +0 -211
  136. data/web/rdoc/classes/Scaffold.src/M000086.html +0 -16
  137. data/web/rdoc/classes/Scaffold.src/M000087.html +0 -28
  138. data/web/rdoc/classes/Scaffold.src/M000088.html +0 -32
  139. data/web/rdoc/classes/Scaffold.src/M000089.html +0 -18
  140. data/web/rdoc/classes/UnitTestKernel.html +0 -176
  141. data/web/rdoc/classes/UnitTestKernel.src/M000019.html +0 -18
  142. data/web/rdoc/classes/UnitTestKernel.src/M000020.html +0 -18
  143. data/web/rdoc/classes/UnitTestKernel.src/M000021.html +0 -22
  144. data/web/rdoc/classes/UnitTestKernel.src/M000022.html +0 -22
  145. data/web/rdoc/classes/UnitTesting/Failure.html +0 -156
  146. data/web/rdoc/classes/UnitTesting/Failure.src/M000092.html +0 -18
  147. data/web/rdoc/classes/UnitTesting/Failure.src/M000093.html +0 -21
  148. data/web/rdoc/classes/UnitTesting.html +0 -165
  149. data/web/rdoc/classes/UnitTesting.src/M000090.html +0 -34
  150. data/web/rdoc/classes/UnitTesting.src/M000091.html +0 -18
  151. data/web/rdoc/created.rid +0 -1
  152. data/web/rdoc/files/ANN.html +0 -107
  153. data/web/rdoc/files/COPYING.html +0 -119
  154. data/web/rdoc/files/ChangeLog.html +0 -144
  155. data/web/rdoc/files/ProjectInfo.html +0 -190
  156. data/web/rdoc/files/README.html +0 -274
  157. data/web/rdoc/files/Rakefile.html +0 -101
  158. data/web/rdoc/files/lib/reap/bin/reap_rb.html +0 -129
  159. data/web/rdoc/files/lib/reap/lint_rb.html +0 -101
  160. data/web/rdoc/files/lib/reap/projectinfo_rb.html +0 -110
  161. data/web/rdoc/files/lib/reap/readymade_rb.html +0 -123
  162. data/web/rdoc/files/lib/reap/task/announce_rb.html +0 -114
  163. data/web/rdoc/files/lib/reap/task/fileperm_rb.html +0 -108
  164. data/web/rdoc/files/lib/reap/task/info_rb.html +0 -108
  165. data/web/rdoc/files/lib/reap/task/install_rb.html +0 -108
  166. data/web/rdoc/files/lib/reap/task/noop_rb.html +0 -108
  167. data/web/rdoc/files/lib/reap/task/package_rb.html +0 -109
  168. data/web/rdoc/files/lib/reap/task/publish_rb.html +0 -108
  169. data/web/rdoc/files/lib/reap/task/rdoc_rb.html +0 -108
  170. data/web/rdoc/files/lib/reap/task/scaffold_rb.html +0 -107
  171. data/web/rdoc/files/lib/reap/task/test_rb.html +0 -110
  172. data/web/rdoc/files/lib/reap/task/testext_rb.html +0 -109
  173. data/web/rdoc/files/lib/reap/task/webpublish_rb.html +0 -108
  174. data/web/rdoc/files/lib/reap/task_rb.html +0 -120
  175. data/web/rdoc/files/lib/reap/tasks_rb.html +0 -116
  176. data/web/rdoc/files/lib/reap/test_rb.html +0 -109
  177. data/web/rdoc/fr_class_index.html +0 -47
  178. data/web/rdoc/fr_file_index.html +0 -51
  179. data/web/rdoc/fr_method_index.html +0 -124
  180. data/web/rdoc/index.html +0 -24
  181. data/web/rdoc/rdoc-style.css +0 -208
@@ -1,84 +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>
7
- <head>
8
- <title>run (Reap::Package)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/reap/task/package.rb, line 85</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>
15
- <span class="ruby-comment cmt"># create package image</span>
16
- <span class="ruby-identifier">package_dir_path</span> = <span class="ruby-node">&quot;#{@dir}/#{@package_name}&quot;</span>
17
-
18
- <span class="ruby-keyword kw">if</span> <span class="ruby-constant">FileTest</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">package_dir_path</span>)
19
- <span class="ruby-identifier">print</span> <span class="ruby-node">&quot;Package '#{package_name}' already exists. Clobber? [y/N] &quot;</span>
20
- <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">inp</span> = <span class="ruby-identifier">$stdin</span>.<span class="ruby-identifier">gets</span>[<span class="ruby-value">0</span>,<span class="ruby-value">1</span>] ; <span class="ruby-identifier">sleep</span> <span class="ruby-value">1</span> ; <span class="ruby-keyword kw">end</span>
21
- <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">inp</span> <span class="ruby-operator">||</span> <span class="ruby-value str">'y'</span>).<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'y'</span>
22
- <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Removing old directory '#{File.expand_path(package_dir_path)}'...&quot;</span>
23
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_r</span>(<span class="ruby-identifier">package_dir_path</span>)
24
- <span class="ruby-comment cmt">#FileUtils.rm(&quot;#{package_dir_path}/*&quot;)</span>
25
- <span class="ruby-comment cmt">#trash_dir = &quot;.trash/#{File.basename(@dir)}&quot;</span>
26
- <span class="ruby-comment cmt">#FileUtils.mkdir_p(&quot;.trash&quot;) unless FileTest.directory?(&quot;.trash&quot;)</span>
27
- <span class="ruby-comment cmt">#FileUtils.mv(@dir, trash_dir)</span>
28
- <span class="ruby-keyword kw">else</span>
29
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Reap package task canceled.&quot;</span>
30
- <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
31
- <span class="ruby-keyword kw">end</span>
32
- <span class="ruby-keyword kw">end</span>
33
- <span class="ruby-identifier">package_files</span> = <span class="ruby-constant">FileList</span>.<span class="ruby-identifier">new</span>
34
- <span class="ruby-identifier">package_files</span>.<span class="ruby-identifier">include</span>(<span class="ruby-operator">*</span><span class="ruby-ivar">@include</span>)
35
- <span class="ruby-identifier">package_files</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-operator">*</span><span class="ruby-ivar">@exclude</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@exclude</span> <span class="ruby-keyword kw">and</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@exclude</span>.<span class="ruby-identifier">empty?</span>
36
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span> <span class="ruby-ivar">@dir</span> <span class="ruby-comment cmt">#rescue nil</span>
37
- <span class="ruby-identifier">package_files</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
38
- <span class="ruby-identifier">pkgf</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">package_dir_path</span>, <span class="ruby-identifier">f</span>)
39
- <span class="ruby-identifier">fdir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">pkgf</span>)
40
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">fdir</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">fdir</span>)
41
- <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">f</span>)
42
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">pkgf</span>)
43
- <span class="ruby-keyword kw">else</span>
44
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_f</span>(<span class="ruby-identifier">pkgf</span>)
45
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">safe_ln</span>(<span class="ruby-identifier">f</span>, <span class="ruby-identifier">pkgf</span>)
46
- <span class="ruby-keyword kw">end</span>
47
- <span class="ruby-keyword kw">end</span>
48
-
49
- <span class="ruby-comment cmt"># create standard package files</span>
50
- <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-ivar">@dir</span>) <span class="ruby-keyword kw">do</span>
51
- <span class="ruby-ivar">@types</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">t</span><span class="ruby-operator">|</span>
52
- <span class="ruby-identifier">sh_cmd</span> = <span class="ruby-keyword kw">nil</span>
53
- <span class="ruby-identifier">prefix</span> = <span class="ruby-value str">'ERROR'</span> <span class="ruby-comment cmt"># in case of unforseen bug</span>
54
- <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">t</span>
55
- <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'tbz'</span>, <span class="ruby-value str">'bz2'</span>, <span class="ruby-value str">'bzip2'</span>, <span class="ruby-value str">'tar.bz2'</span>
56
- <span class="ruby-identifier">prefix</span> = ( <span class="ruby-identifier">t</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'tbz'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'tbz'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'tar.bz2'</span> )
57
- <span class="ruby-identifier">sh_cmd</span> = <span class="ruby-value str">'tar --bzip2 -cvf'</span>
58
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;\nReap is shelling out work to tar and bzip2...&quot;</span>
59
- <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'tgz'</span>, <span class="ruby-value str">'tar.gz'</span>
60
- <span class="ruby-identifier">prefix</span> = ( <span class="ruby-identifier">t</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'tgz'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">'tgz'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'tar.gz'</span> )
61
- <span class="ruby-identifier">sh_cmd</span> = <span class="ruby-value str">'tar --gzip -cvf'</span>
62
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;\nReap is shelling out work to tar and gzip...&quot;</span>
63
- <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'zip'</span>
64
- <span class="ruby-identifier">prefix</span> = <span class="ruby-value str">'zip'</span>
65
- <span class="ruby-identifier">sh_cmd</span> = <span class="ruby-value str">'zip -r'</span>
66
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;\nReap is shelling out work to zip...&quot;</span>
67
- <span class="ruby-keyword kw">when</span> <span class="ruby-value str">'gem'</span>
68
- <span class="ruby-identifier">sh_cmd</span> = <span class="ruby-keyword kw">nil</span>
69
- <span class="ruby-keyword kw">else</span>
70
- <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Unknown package type '#{t}' skipped.&quot;</span>
71
- <span class="ruby-identifier">sh_cmd</span> = <span class="ruby-keyword kw">nil</span>
72
- <span class="ruby-keyword kw">end</span>
73
- <span class="ruby-identifier">sh</span> <span class="ruby-node">%{#{sh_cmd} #{@package_name}.#{prefix} #{@package_name}}</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sh_cmd</span>
74
- <span class="ruby-keyword kw">end</span>
75
- <span class="ruby-identifier">puts</span>
76
- <span class="ruby-keyword kw">end</span>
77
-
78
- <span class="ruby-comment cmt"># create gem package</span>
79
- <span class="ruby-identifier">run_gem</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">Gem</span>) <span class="ruby-keyword kw">and</span> <span class="ruby-ivar">@types</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">'gem'</span>)
80
-
81
- <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
82
- <span class="ruby-keyword kw">end</span></pre>
83
- </body>
84
- </html>
@@ -1,61 +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>
7
- <head>
8
- <title>run_gem (Reap::Package)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/reap/task/package.rb, line 155</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run_gem</span>
15
- <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
16
-
17
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> = <span class="ruby-ivar">@name</span>
18
-
19
- <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@version</span>
20
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> = <span class="ruby-ivar">@version</span>
21
- <span class="ruby-keyword kw">else</span>
22
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> = <span class="ruby-ivar">@series</span> <span class="ruby-operator">+</span> <span class="ruby-value str">'.0'</span>
23
- <span class="ruby-keyword kw">end</span>
24
-
25
- <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">each</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">d</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
26
- <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>
27
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">add_dependency</span>(<span class="ruby-identifier">d</span>, <span class="ruby-identifier">v</span>)
28
- <span class="ruby-keyword kw">else</span>
29
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">add_dependency</span>(<span class="ruby-identifier">d</span>)
30
- <span class="ruby-keyword kw">end</span>
31
- }
32
-
33
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span> = <span class="ruby-ivar">@platform</span>
34
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">summary</span> = <span class="ruby-ivar">@summary</span>
35
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">requirements</span> = <span class="ruby-ivar">@requirements</span>
36
-
37
- <span class="ruby-comment cmt"># s.files = Dir.glob(&quot;lib/**/*&quot;).delete_if {|item| item.include?(&quot;CVS&quot;)}</span>
38
- <span class="ruby-comment cmt"># s.files.concat Dir.glob(&quot;bin/**/*&quot;).delete_if {|item| item.include?(&quot;CVS&quot;)}</span>
39
- <span class="ruby-identifier">package_files</span> = <span class="ruby-constant">FileList</span>.<span class="ruby-identifier">new</span>
40
- <span class="ruby-identifier">package_files</span>.<span class="ruby-identifier">include</span>(<span class="ruby-operator">*</span><span class="ruby-ivar">@include</span>)
41
- <span class="ruby-identifier">package_files</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-operator">*</span><span class="ruby-ivar">@exclude</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@exclude</span> <span class="ruby-keyword kw">and</span> <span class="ruby-keyword kw">not</span> <span class="ruby-ivar">@exclude</span>.<span class="ruby-identifier">empty?</span>
42
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">files</span> = <span class="ruby-identifier">package_files</span>.<span class="ruby-identifier">to_a</span>
43
-
44
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">require_path</span> = <span class="ruby-value str">'lib'</span>
45
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">autorequire</span> = <span class="ruby-ivar">@autorequire</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@autorequire</span>
46
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">author</span> = <span class="ruby-ivar">@author</span>
47
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">email</span> = <span class="ruby-ivar">@email</span>
48
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">rubyforge_project</span> = <span class="ruby-ivar">@project</span>
49
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">homepage</span> = <span class="ruby-ivar">@homepage</span>
50
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">executables</span> = <span class="ruby-ivar">@executables</span>
51
- <span class="ruby-identifier">s</span>.<span class="ruby-identifier">bindir</span> = <span class="ruby-value str">&quot;bin&quot;</span>
52
-
53
- }
54
-
55
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Reap is shelling out work to the Gem Package Manager...&quot;</span>
56
- <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">manage_gems</span>
57
- <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Builder</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>).<span class="ruby-identifier">build</span>
58
- <span class="ruby-identifier">sh</span> <span class="ruby-node">%{mv ./*.gem #{@dir}/}</span>
59
- <span class="ruby-keyword kw">end</span></pre>
60
- </body>
61
- </html>
@@ -1,236 +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>Class: Reap::Perm</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>Class</strong></td>
53
- <td class="class-name-in-header">Reap::Perm</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/reap/task/fileperm_rb.html">
59
- lib/reap/task/fileperm.rb
60
- </a>
61
- <br />
62
- </td>
63
- </tr>
64
-
65
- <tr class="top-aligned-row">
66
- <td><strong>Parent:</strong></td>
67
- <td>
68
- <a href="Task.html">
69
- Reap::Task
70
- </a>
71
- </td>
72
- </tr>
73
- </table>
74
- </div>
75
- <!-- banner header -->
76
-
77
- <div id="bodyContent">
78
-
79
-
80
-
81
- <div id="contextContent">
82
-
83
- <div id="description">
84
- <p>
85
- File Permissions <a href="Task.html">Task</a>
86
- </p>
87
-
88
- </div>
89
-
90
-
91
- </div>
92
-
93
- <div id="method-list">
94
- <h3 class="section-bar">Methods</h3>
95
-
96
- <div class="name-list">
97
- <a href="#M000081">chmod</a>&nbsp;&nbsp;
98
- <a href="#M000079">init</a>&nbsp;&nbsp;
99
- <a href="#M000080">run</a>&nbsp;&nbsp;
100
- <a href="#M000082">run_chown</a>&nbsp;&nbsp;
101
- <a href="#M000078">task_desc</a>&nbsp;&nbsp;
102
- </div>
103
- </div>
104
-
105
- </div>
106
-
107
-
108
- <!-- if includes -->
109
-
110
- <div id="section">
111
-
112
-
113
-
114
-
115
-
116
- <div id="attribute-list">
117
- <h3 class="section-bar">Attributes</h3>
118
-
119
- <div class="name-list">
120
- <table>
121
- <tr class="top-aligned-row context-row">
122
- <td class="context-item-name">dirmod</td>
123
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
124
- <td class="context-item-desc"></td>
125
- </tr>
126
- <tr class="top-aligned-row context-row">
127
- <td class="context-item-name">filemod</td>
128
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
129
- <td class="context-item-desc"></td>
130
- </tr>
131
- <tr class="top-aligned-row context-row">
132
- <td class="context-item-name">group</td>
133
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
134
- <td class="context-item-desc"></td>
135
- </tr>
136
- <tr class="top-aligned-row context-row">
137
- <td class="context-item-name">user</td>
138
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
139
- <td class="context-item-desc"></td>
140
- </tr>
141
- </table>
142
- </div>
143
- </div>
144
-
145
-
146
-
147
- <!-- if method_list -->
148
- <div id="methods">
149
- <h3 class="section-bar">Public Instance methods</h3>
150
-
151
- <div id="method-M000081" class="method-detail">
152
- <a name="M000081"></a>
153
-
154
- <div class="method-heading">
155
- <a href="Perm.src/M000081.html" target="Code" class="method-signature"
156
- onclick="popupCode('Perm.src/M000081.html');return false;">
157
- <span class="method-name">chmod</span><span class="method-args">( file_list, file_mode=644, dir_mode=755 )</span>
158
- </a>
159
- </div>
160
-
161
- <div class="method-description">
162
- <p>
163
- support functions
164
- </p>
165
- </div>
166
- </div>
167
-
168
- <div id="method-M000079" class="method-detail">
169
- <a name="M000079"></a>
170
-
171
- <div class="method-heading">
172
- <a href="Perm.src/M000079.html" target="Code" class="method-signature"
173
- onclick="popupCode('Perm.src/M000079.html');return false;">
174
- <span class="method-name">init</span><span class="method-args">()</span>
175
- </a>
176
- </div>
177
-
178
- <div class="method-description">
179
- </div>
180
- </div>
181
-
182
- <div id="method-M000080" class="method-detail">
183
- <a name="M000080"></a>
184
-
185
- <div class="method-heading">
186
- <a href="Perm.src/M000080.html" target="Code" class="method-signature"
187
- onclick="popupCode('Perm.src/M000080.html');return false;">
188
- <span class="method-name">run</span><span class="method-args">()</span>
189
- </a>
190
- </div>
191
-
192
- <div class="method-description">
193
- </div>
194
- </div>
195
-
196
- <div id="method-M000082" class="method-detail">
197
- <a name="M000082"></a>
198
-
199
- <div class="method-heading">
200
- <a href="Perm.src/M000082.html" target="Code" class="method-signature"
201
- onclick="popupCode('Perm.src/M000082.html');return false;">
202
- <span class="method-name">run_chown</span><span class="method-args">()</span>
203
- </a>
204
- </div>
205
-
206
- <div class="method-description">
207
- </div>
208
- </div>
209
-
210
- <div id="method-M000078" class="method-detail">
211
- <a name="M000078"></a>
212
-
213
- <div class="method-heading">
214
- <a href="Perm.src/M000078.html" target="Code" class="method-signature"
215
- onclick="popupCode('Perm.src/M000078.html');return false;">
216
- <span class="method-name">task_desc</span><span class="method-args">()</span>
217
- </a>
218
- </div>
219
-
220
- <div class="method-description">
221
- </div>
222
- </div>
223
-
224
-
225
- </div>
226
-
227
-
228
- </div>
229
-
230
-
231
- <div id="validator-badges">
232
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
233
- </div>
234
-
235
- </body>
236
- </html>
@@ -1,18 +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>
7
- <head>
8
- <title>task_desc (Reap::Perm)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/reap/task/fileperm.rb, line 13</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">task_desc</span>
15
- <span class="ruby-value str">&quot;Normalize ownership and permissions of package files.&quot;</span>
16
- <span class="ruby-keyword kw">end</span></pre>
17
- </body>
18
- </html>
@@ -1,21 +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>
7
- <head>
8
- <title>init (Reap::Perm)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/reap/task/fileperm.rb, line 17</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init</span>
15
- <span class="ruby-ivar">@user</span> = <span class="ruby-identifier">section</span>[<span class="ruby-value str">'user'</span>]
16
- <span class="ruby-ivar">@group</span> <span class="ruby-operator">||=</span> <span class="ruby-ivar">@user</span>
17
- <span class="ruby-ivar">@filemod</span> <span class="ruby-operator">||=</span> <span class="ruby-value">644</span>
18
- <span class="ruby-ivar">@dirmod</span> <span class="ruby-operator">||=</span> <span class="ruby-value">755</span>
19
- <span class="ruby-keyword kw">end</span></pre>
20
- </body>
21
- </html>
@@ -1,42 +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>
7
- <head>
8
- <title>run (Reap::Perm)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/reap/task/fileperm.rb, line 24</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>
15
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;Reap is shelling out work to chmod...&quot;</span>
16
-
17
- <span class="ruby-comment cmt"># misc</span>
18
- <span class="ruby-identifier">misc</span> = <span class="ruby-constant">FileList</span>.<span class="ruby-identifier">new</span>
19
- <span class="ruby-identifier">misc</span>.<span class="ruby-identifier">include</span>(<span class="ruby-value str">'[A-Z]*'</span>)
20
- <span class="ruby-identifier">misc</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'InstalledFiles'</span>)
21
- <span class="ruby-identifier">chmod</span>( <span class="ruby-identifier">misc</span> ) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">misc</span>.<span class="ruby-identifier">empty?</span>
22
-
23
- <span class="ruby-comment cmt"># lib</span>
24
- <span class="ruby-identifier">libs</span> = <span class="ruby-constant">FileList</span>.<span class="ruby-identifier">new</span>
25
- <span class="ruby-identifier">libs</span>.<span class="ruby-identifier">include</span>(<span class="ruby-value str">'lib/**/*'</span>)
26
- <span class="ruby-identifier">libs</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'lib/CVS/**/*'</span>)
27
- <span class="ruby-identifier">libs</span>.<span class="ruby-identifier">include</span>(<span class="ruby-value str">'packages/*/lib/**/*'</span>)
28
- <span class="ruby-identifier">libs</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'packages/*/lib/CVS/**/*'</span>)
29
- <span class="ruby-identifier">libs</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'packages/CVS/**/*'</span>)
30
- <span class="ruby-identifier">chmod</span>( <span class="ruby-identifier">libs</span> ) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">libs</span>.<span class="ruby-identifier">empty?</span>
31
-
32
- <span class="ruby-comment cmt"># bin</span>
33
- <span class="ruby-identifier">bins</span> = <span class="ruby-constant">FileList</span>.<span class="ruby-identifier">new</span>
34
- <span class="ruby-identifier">bins</span>.<span class="ruby-identifier">include</span>(<span class="ruby-value str">'bin/**/*'</span>)
35
- <span class="ruby-identifier">bins</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'bin/CVS/**/*'</span>)
36
- <span class="ruby-identifier">bins</span>.<span class="ruby-identifier">include</span>(<span class="ruby-value str">'packages/*/bin/**/*'</span>)
37
- <span class="ruby-identifier">bins</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'packages/*/bin/CVS/**/*'</span>)
38
- <span class="ruby-identifier">bins</span>.<span class="ruby-identifier">exclude</span>(<span class="ruby-value str">'packages/CVS/**/*'</span>)
39
- <span class="ruby-identifier">chmod</span>( <span class="ruby-identifier">bins</span>, <span class="ruby-value">755</span> ) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">bins</span>.<span class="ruby-identifier">empty?</span>
40
- <span class="ruby-keyword kw">end</span></pre>
41
- </body>
42
- </html>
@@ -1,26 +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>
7
- <head>
8
- <title>chmod (Reap::Perm)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/reap/task/fileperm.rb, line 54</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">chmod</span>( <span class="ruby-identifier">file_list</span>, <span class="ruby-identifier">file_mode</span>=<span class="ruby-value">644</span>, <span class="ruby-identifier">dir_mode</span>=<span class="ruby-value">755</span> )
15
- <span class="ruby-identifier">dirs</span>, <span class="ruby-identifier">files</span> = <span class="ruby-identifier">file_list</span>.<span class="ruby-identifier">partition</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">l</span>) }
16
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">empty?</span>
17
- <span class="ruby-identifier">fstr</span> = <span class="ruby-value str">'&quot;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">files</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'&quot; &quot;'</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'&quot;'</span>
18
- <span class="ruby-identifier">sh</span> <span class="ruby-node">%{chmod #{file_mode} #{fstr}}</span>
19
- <span class="ruby-keyword kw">end</span>
20
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">empty?</span>
21
- <span class="ruby-identifier">fstr</span> = <span class="ruby-value str">'&quot;'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">dirs</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'&quot; &quot;'</span>) <span class="ruby-operator">+</span> <span class="ruby-value str">'&quot;'</span>
22
- <span class="ruby-identifier">sh</span> <span class="ruby-node">%{chmod #{dir_mode} #{fstr}}</span>
23
- <span class="ruby-keyword kw">end</span>
24
- <span class="ruby-keyword kw">end</span></pre>
25
- </body>
26
- </html>
@@ -1,18 +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>
7
- <head>
8
- <title>run_chown (Reap::Perm)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre><span class="ruby-comment cmt"># File lib/reap/task/fileperm.rb, line 66</span>
14
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run_chown</span>
15
- <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;NOT YET IMPLEMENTED&quot;</span>
16
- <span class="ruby-keyword kw">end</span></pre>
17
- </body>
18
- </html>