ratch 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. data/bin/ratch +60 -47
  2. data/bin/ratch-find +21 -0
  3. data/demo/{README → XR} +0 -0
  4. data/demo/task/stats +0 -2
  5. data/doc/images/clipboard.jpg +0 -0
  6. data/doc/images/clipboard2.png +0 -0
  7. data/doc/images/milles-tn.jpg +0 -0
  8. data/doc/images/mints.png +0 -0
  9. data/doc/images/ratch2.png +0 -0
  10. data/doc/images/ruby-sm.png +0 -0
  11. data/doc/images/silver.gif +0 -0
  12. data/doc/images/toolbox.jpg +0 -0
  13. data/doc/index.html +181 -0
  14. data/doc/notes/original.rb +308 -0
  15. data/doc/rdoc/classes/Array.html +194 -0
  16. data/doc/rdoc/classes/Dir.html +317 -0
  17. data/doc/rdoc/classes/Hash.html +217 -0
  18. data/doc/rdoc/classes/Ratch.html +201 -0
  19. data/doc/rdoc/classes/Ratch/ArgvUtils.html +173 -0
  20. data/doc/rdoc/classes/Ratch/ArgvUtils/Ext.html +285 -0
  21. data/doc/rdoc/classes/Ratch/BatchFile.html +207 -0
  22. data/doc/rdoc/classes/Ratch/BatchManager.html +250 -0
  23. data/doc/rdoc/classes/Ratch/BatchScript.html +127 -0
  24. data/doc/rdoc/classes/Ratch/Batchable.html +373 -0
  25. data/doc/rdoc/classes/Ratch/Build.html +321 -0
  26. data/doc/rdoc/classes/Ratch/BuildManager.html +319 -0
  27. data/doc/rdoc/classes/Ratch/Buildable.html +202 -0
  28. data/doc/rdoc/classes/Ratch/ConfigUtils.html +281 -0
  29. data/doc/rdoc/classes/Ratch/ConsoleUtils.html +189 -0
  30. data/doc/rdoc/classes/Ratch/EmailUtils.html +209 -0
  31. data/doc/rdoc/classes/Ratch/FileUtils.html +674 -0
  32. data/doc/rdoc/classes/Ratch/GeneralOptions.html +430 -0
  33. data/doc/rdoc/classes/Ratch/Task.html +201 -0
  34. data/doc/rdoc/classes/Ratch/TaskManager.html +330 -0
  35. data/doc/rdoc/classes/Ratch/Taskable.html +231 -0
  36. data/doc/rdoc/classes/Ratch/UploadUtils.html +566 -0
  37. data/doc/rdoc/created.rid +1 -0
  38. data/doc/rdoc/files/COPYING.html +1003 -0
  39. data/{demo/doc → doc}/rdoc/files/README.html +36 -5
  40. data/doc/rdoc/files/lib/ratch/argvutils_rb.html +131 -0
  41. data/doc/rdoc/files/lib/ratch/batch_rb.html +155 -0
  42. data/doc/rdoc/files/lib/ratch/batchable_rb.html +131 -0
  43. data/doc/rdoc/files/lib/ratch/batchfile_rb.html +148 -0
  44. data/doc/rdoc/files/lib/ratch/buildable_rb.html +131 -0
  45. data/doc/rdoc/files/lib/ratch/consoleutils_rb.html +131 -0
  46. data/{demo/doc/rdoc/files/lib/foo/foo_rb.html → doc/rdoc/files/lib/ratch/emailutils_rb.html} +35 -41
  47. data/doc/rdoc/files/lib/ratch/facets/multiglob_rb.html +137 -0
  48. data/doc/rdoc/files/lib/ratch/fileutils_rb.html +139 -0
  49. data/doc/rdoc/files/lib/ratch/options_rb.html +131 -0
  50. data/doc/rdoc/files/lib/ratch/taskable_rb.html +131 -0
  51. data/doc/rdoc/files/lib/ratch/uploadutils_rb.html +150 -0
  52. data/doc/rdoc/fr_class_index.html +48 -0
  53. data/doc/rdoc/fr_file_index.html +41 -0
  54. data/doc/rdoc/fr_method_index.html +133 -0
  55. data/{demo/doc → doc}/rdoc/index.html +1 -1
  56. data/{demo/doc → doc}/rdoc/rdoc-style.css +0 -0
  57. data/doc/scrap/flexihead-flip.jpg +0 -0
  58. data/doc/scrap/flexihead.jpg +0 -0
  59. data/doc/scrap/head1.jpg +0 -0
  60. data/doc/scrap/ratch.jpg +0 -0
  61. data/doc/scrap/ratch1.png +0 -0
  62. data/doc/scrap/ratch2.jpg +0 -0
  63. data/doc/scrap/ratch3.png +0 -0
  64. data/doc/scrap/red-ratch.jpg +0 -0
  65. data/doc/scrap/redratchet.jpg +0 -0
  66. data/doc/scrap/ruby-kit/ruby.png +0 -0
  67. data/doc/scrap/scrap.red +256 -0
  68. data/doc/sitemap.yaml +10 -0
  69. data/doc/siteparts/index.red +100 -0
  70. data/doc/siteparts/layout.rhtml +56 -0
  71. data/doc/siteparts/tutorial.red +578 -0
  72. data/doc/style.css +112 -0
  73. data/doc/tutorial.html +722 -0
  74. data/lib/ratch/batch.rb +417 -30
  75. data/lib/ratch/{argvutils.rb → batch/argvutils.rb} +27 -19
  76. data/lib/ratch/batch/build.rb +95 -0
  77. data/lib/ratch/{consoleutils.rb → batch/consoleutils.rb} +0 -0
  78. data/lib/ratch/{emailutils.rb → batch/emailutils.rb} +0 -0
  79. data/lib/ratch/{fileutils.rb → batch/fileutils.rb} +32 -32
  80. data/lib/ratch/{options.rb → batch/options.rb} +0 -0
  81. data/lib/ratch/batch/task.rb +43 -0
  82. data/lib/ratch/manager.rb +34 -0
  83. data/lib/ratch/project/information.rb +257 -0
  84. data/lib/ratch/project/package.rb +82 -0
  85. data/lib/ratch/project/project.rb +531 -0
  86. data/lib/ratch/project/release.rb +112 -0
  87. data/lib/ratch/support/filetest.rb +29 -0
  88. data/lib/ratch/support/setuputils.rb +124 -0
  89. data/lib/ratch/support/signiture.rb +252 -0
  90. data/lib/ratch/support/stage.rb +292 -0
  91. data/lib/ratch/toolset/ruby/pack/gem +85 -0
  92. data/lib/ratch/toolset/ruby/pack/tgz +85 -0
  93. data/lib/ratch/toolset/ruby/{crosstest → test/crosstest} +0 -0
  94. data/lib/ratch/toolset/ruby/{extest → test/extest} +0 -0
  95. data/lib/ratch/toolset/ruby/{isotest → test/isotest} +0 -0
  96. data/lib/ratch/toolset/ruby/{load → test/load} +0 -0
  97. data/lib/ratch/toolset/ruby/{loadtest → test/loadtest} +0 -0
  98. data/lib/ratch/toolset/ruby/{syntax → test/syntax} +0 -0
  99. data/lib/ratch/toolset/ruby/{test → test/test} +0 -0
  100. data/log/{history.rd → history} +6 -0
  101. data/log/{todo.rd → todo} +0 -0
  102. data/meta/MANIFEST +52 -36
  103. data/meta/ROLLRC +2 -0
  104. data/meta/icli.yaml +16 -0
  105. data/meta/{ratch-0.2.3.roll → project.yaml} +1 -7
  106. data/task/release +12 -0
  107. data/{lib/ratch → work/old}/batchfile.rb +0 -0
  108. data/work/project-old.rb +67 -0
  109. data/work/scrap/install +89 -0
  110. data/work/scrap/install.0 +49 -0
  111. data/work/scrap/install.1 +63 -0
  112. data/work/scrap/ludo +25 -0
  113. data/work/scrap/oldtaskable.rb +573 -0
  114. data/work/scrap/ratch.man +39 -0
  115. data/work/scrap/taskable-simple.rb +42 -0
  116. data/work/scrap/taskable.rb +120 -0
  117. metadata +170 -72
  118. data/demo/doc/rdoc/created.rid +0 -1
  119. data/demo/doc/rdoc/fr_class_index.html +0 -26
  120. data/demo/doc/rdoc/fr_file_index.html +0 -28
  121. data/demo/doc/rdoc/fr_method_index.html +0 -27
  122. data/demo/task/config.yaml +0 -2
  123. data/lib/ratch/batchable.rb +0 -169
  124. data/lib/ratch/buildable.rb +0 -182
  125. data/lib/ratch/configutils.rb +0 -132
  126. data/lib/ratch/facets/multiglob.rb +0 -160
  127. data/lib/ratch/taskable.rb +0 -152
  128. data/log/recent.rd +0 -8
  129. data/task/config.yaml +0 -10
@@ -0,0 +1,250 @@
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: Ratch::BatchManager</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">Ratch::BatchManager</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/ratch/batchable_rb.html">
59
+ lib/ratch/batchable.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
+ Object
69
+ </td>
70
+ </tr>
71
+ </table>
72
+ </div>
73
+ <!-- banner header -->
74
+
75
+ <div id="bodyContent">
76
+
77
+
78
+
79
+ <div id="contextContent">
80
+
81
+
82
+
83
+ </div>
84
+
85
+ <div id="method-list">
86
+ <h3 class="section-bar">Methods</h3>
87
+
88
+ <div class="name-list">
89
+ <a href="#M000105">batch</a>&nbsp;&nbsp;
90
+ <a href="#M000107">done?</a>&nbsp;&nbsp;
91
+ <a href="#M000104">new</a>&nbsp;&nbsp;
92
+ <a href="#M000106">run</a>&nbsp;&nbsp;
93
+ </div>
94
+ </div>
95
+
96
+ </div>
97
+
98
+
99
+ <!-- if includes -->
100
+
101
+ <div id="section">
102
+
103
+
104
+
105
+
106
+
107
+ <div id="attribute-list">
108
+ <h3 class="section-bar">Attributes</h3>
109
+
110
+ <div class="name-list">
111
+ <table>
112
+ <tr class="top-aligned-row context-row">
113
+ <td class="context-item-name">cache</td>
114
+ <td class="context-item-value">&nbsp;[R]&nbsp;</td>
115
+ <td class="context-item-desc">
116
+ <a href="Task.html">Task</a> cache, which prevents <a
117
+ href="BatchManager.html#M000105">batch</a> runs from re-executing.
118
+
119
+ </td>
120
+ </tr>
121
+ </table>
122
+ </div>
123
+ </div>
124
+
125
+
126
+
127
+ <!-- if method_list -->
128
+ <div id="methods">
129
+ <h3 class="section-bar">Public Class methods</h3>
130
+
131
+ <div id="method-M000104" class="method-detail">
132
+ <a name="M000104"></a>
133
+
134
+ <div class="method-heading">
135
+ <a href="#M000104" class="method-signature">
136
+ <span class="method-name">new</span><span class="method-args">(runspace)</span>
137
+ </a>
138
+ </div>
139
+
140
+ <div class="method-description">
141
+ <p>
142
+ New <a href="BatchManager.html">BatchManager</a>.
143
+ </p>
144
+ <p><a class="source-toggle" href="#"
145
+ onclick="toggleCode('M000104-source');return false;">[Source]</a></p>
146
+ <div class="method-source-code" id="M000104-source">
147
+ <pre>
148
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 32</span>
149
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">runspace</span>)
150
+ <span class="ruby-ivar">@runspace</span> = <span class="ruby-identifier">runspace</span>
151
+ <span class="ruby-ivar">@cache</span> = {}
152
+ <span class="ruby-keyword kw">end</span>
153
+ </pre>
154
+ </div>
155
+ </div>
156
+ </div>
157
+
158
+ <h3 class="section-bar">Public Instance methods</h3>
159
+
160
+ <div id="method-M000105" class="method-detail">
161
+ <a name="M000105"></a>
162
+
163
+ <div class="method-heading">
164
+ <a href="#M000105" class="method-signature">
165
+ <span class="method-name">batch</span><span class="method-args">(batchfile, arguments=nil)</span>
166
+ </a>
167
+ </div>
168
+
169
+ <div class="method-description">
170
+ <p><a class="source-toggle" href="#"
171
+ onclick="toggleCode('M000105-source');return false;">[Source]</a></p>
172
+ <div class="method-source-code" id="M000105-source">
173
+ <pre>
174
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 38</span>
175
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">batch</span>(<span class="ruby-identifier">batchfile</span>, <span class="ruby-identifier">arguments</span>=<span class="ruby-keyword kw">nil</span>)
176
+ <span class="ruby-ivar">@cache</span>[<span class="ruby-identifier">batchfile</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">batchfile</span>, <span class="ruby-identifier">arguments</span>)
177
+ <span class="ruby-keyword kw">end</span>
178
+ </pre>
179
+ </div>
180
+ </div>
181
+ </div>
182
+
183
+ <div id="method-M000107" class="method-detail">
184
+ <a name="M000107"></a>
185
+
186
+ <div class="method-heading">
187
+ <a href="#M000107" class="method-signature">
188
+ <span class="method-name">done?</span><span class="method-args">(batchfile)</span>
189
+ </a>
190
+ </div>
191
+
192
+ <div class="method-description">
193
+ <p><a class="source-toggle" href="#"
194
+ onclick="toggleCode('M000107-source');return false;">[Source]</a></p>
195
+ <div class="method-source-code" id="M000107-source">
196
+ <pre>
197
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 55</span>
198
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done?</span>(<span class="ruby-identifier">batchfile</span>)
199
+ <span class="ruby-identifier">batchfile</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">$0</span> <span class="ruby-keyword kw">or</span> <span class="ruby-ivar">@cache</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">batchfile</span>)
200
+ <span class="ruby-keyword kw">end</span>
201
+ </pre>
202
+ </div>
203
+ </div>
204
+ </div>
205
+
206
+ <div id="method-M000106" class="method-detail">
207
+ <a name="M000106"></a>
208
+
209
+ <div class="method-heading">
210
+ <a href="#M000106" class="method-signature">
211
+ <span class="method-name">run</span><span class="method-args">(batchfile, arguments=nil)</span>
212
+ </a>
213
+ </div>
214
+
215
+ <div class="method-description">
216
+ <p>
217
+ Run a <a href="BatchManager.html#M000105">batch</a> file. TODO: How to
218
+ handle arguments?
219
+ </p>
220
+ <p><a class="source-toggle" href="#"
221
+ onclick="toggleCode('M000106-source');return false;">[Source]</a></p>
222
+ <div class="method-source-code" id="M000106-source">
223
+ <pre>
224
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 45</span>
225
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>(<span class="ruby-identifier">batchfile</span>, <span class="ruby-identifier">arguments</span>=<span class="ruby-keyword kw">nil</span>)
226
+ <span class="ruby-comment cmt"># # TODO probably should raise error instead</span>
227
+ <span class="ruby-comment cmt"># abort &quot;missing batch file -- #{batchfile}&quot; unless File.file?(batchfile)</span>
228
+
229
+ <span class="ruby-comment cmt">#BatchFile.new(batchfile).call # Old way with batch execution context object.</span>
230
+ <span class="ruby-identifier">script</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">$0</span> = <span class="ruby-identifier">batchfile</span>)
231
+ <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">script</span>, <span class="ruby-identifier">$batch_binding</span>, <span class="ruby-identifier">$0</span>)
232
+ <span class="ruby-keyword kw">end</span>
233
+ </pre>
234
+ </div>
235
+ </div>
236
+ </div>
237
+
238
+
239
+ </div>
240
+
241
+
242
+ </div>
243
+
244
+
245
+ <div id="validator-badges">
246
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
247
+ </div>
248
+
249
+ </body>
250
+ </html>
@@ -0,0 +1,127 @@
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: Ratch::BatchScript</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">Ratch::BatchScript</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/ratch/batch_rb.html">
59
+ lib/ratch/batch.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+ <div id="description">
76
+ <p>
77
+ <a href="BatchScript.html">BatchScript</a> module defines the DSL available
78
+ to a ratch script.
79
+ </p>
80
+
81
+ </div>
82
+
83
+
84
+ </div>
85
+
86
+
87
+ </div>
88
+
89
+
90
+ <!-- if includes -->
91
+ <div id="includes">
92
+ <h3 class="section-bar">Included Modules</h3>
93
+
94
+ <div id="includes-list">
95
+ <span class="include-name"><a href="GeneralOptions.html">GeneralOptions</a></span>
96
+ <span class="include-name"><a href="ConsoleUtils.html">ConsoleUtils</a></span>
97
+ <span class="include-name"><a href="ArgvUtils.html">ArgvUtils</a></span>
98
+ <span class="include-name"><a href="FileUtils.html">FileUtils</a></span>
99
+ <span class="include-name"><a href="ConfigUtils.html">ConfigUtils</a></span>
100
+ <span class="include-name"><a href="EmailUtils.html">EmailUtils</a></span>
101
+ <span class="include-name"><a href="Buildable.html">Buildable</a></span>
102
+ <span class="include-name"><a href="Taskable.html">Taskable</a></span>
103
+ <span class="include-name"><a href="Batchable.html">Batchable</a></span>
104
+ </div>
105
+ </div>
106
+
107
+ <div id="section">
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+ <!-- if method_list -->
117
+
118
+
119
+ </div>
120
+
121
+
122
+ <div id="validator-badges">
123
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
124
+ </div>
125
+
126
+ </body>
127
+ </html>
@@ -0,0 +1,373 @@
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: Ratch::Batchable</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">Ratch::Batchable</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/ratch/batchable_rb.html">
59
+ lib/ratch/batchable.rb
60
+ </a>
61
+ <br />
62
+ </td>
63
+ </tr>
64
+
65
+ </table>
66
+ </div>
67
+ <!-- banner header -->
68
+
69
+ <div id="bodyContent">
70
+
71
+
72
+
73
+ <div id="contextContent">
74
+
75
+
76
+
77
+ </div>
78
+
79
+ <div id="method-list">
80
+ <h3 class="section-bar">Methods</h3>
81
+
82
+ <div class="name-list">
83
+ <a href="#M000077">batch</a>&nbsp;&nbsp;
84
+ <a href="#M000081">batch?</a>&nbsp;&nbsp;
85
+ <a href="#M000076">batch_manager</a>&nbsp;&nbsp;
86
+ <a href="#M000079">done?</a>&nbsp;&nbsp;
87
+ <a href="#M000078">launch</a>&nbsp;&nbsp;
88
+ <a href="#M000082">method_missing</a>&nbsp;&nbsp;
89
+ <a href="#M000080">sh</a>&nbsp;&nbsp;
90
+ </div>
91
+ </div>
92
+
93
+ </div>
94
+
95
+
96
+ <!-- if includes -->
97
+
98
+ <div id="section">
99
+
100
+
101
+
102
+
103
+
104
+
105
+
106
+
107
+ <!-- if method_list -->
108
+ <div id="methods">
109
+ <h3 class="section-bar">Public Instance methods</h3>
110
+
111
+ <div id="method-M000077" class="method-detail">
112
+ <a name="M000077"></a>
113
+
114
+ <div class="method-heading">
115
+ <a href="#M000077" class="method-signature">
116
+ <span class="method-name">batch</span><span class="method-args">(batchfile, arguments=nil)</span>
117
+ </a>
118
+ </div>
119
+
120
+ <div class="method-description">
121
+ <p>
122
+ Batch run, ie. run and cache. Usually this can be take care of by <a
123
+ href="Batchable.html#M000082">method_missing</a>. But, in some cases, built
124
+ in method names block task calls, so you have to use <a
125
+ href="Batchable.html#M000077">batch</a> to invoke those.
126
+ </p>
127
+ <p><a class="source-toggle" href="#"
128
+ onclick="toggleCode('M000077-source');return false;">[Source]</a></p>
129
+ <div class="method-source-code" id="M000077-source">
130
+ <pre>
131
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 74</span>
132
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">batch</span>(<span class="ruby-identifier">batchfile</span>, <span class="ruby-identifier">arguments</span>=<span class="ruby-keyword kw">nil</span>)
133
+ <span class="ruby-identifier">batch_manager</span>.<span class="ruby-identifier">batch</span>(<span class="ruby-identifier">batchfile</span>, <span class="ruby-identifier">arguments</span>=<span class="ruby-keyword kw">nil</span>) <span class="ruby-comment cmt"># why did I have task instead of batchfile before?</span>
134
+ <span class="ruby-keyword kw">end</span>
135
+ </pre>
136
+ </div>
137
+ </div>
138
+ </div>
139
+
140
+ <div id="method-M000081" class="method-detail">
141
+ <a name="M000081"></a>
142
+
143
+ <div class="method-heading">
144
+ <a href="#M000081" class="method-signature">
145
+ <span class="method-name">batch?</span><span class="method-args">(path)</span>
146
+ </a>
147
+ </div>
148
+
149
+ <div class="method-description">
150
+ <p>
151
+ Is a file a local <a href="Batchable.html#M000077">batch</a> file?
152
+ </p>
153
+ <p><a class="source-toggle" href="#"
154
+ onclick="toggleCode('M000081-source');return false;">[Source]</a></p>
155
+ <div class="method-source-code" id="M000081-source">
156
+ <pre>
157
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 102</span>
158
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">batch?</span>(<span class="ruby-identifier">path</span>)
159
+ <span class="ruby-identifier">b</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">$0</span>) <span class="ruby-operator">+</span> <span class="ruby-node">&quot;/#{path}&quot;</span>
160
+ <span class="ruby-identifier">b</span>.<span class="ruby-identifier">chomp!</span>(<span class="ruby-value str">'!'</span>)
161
+ <span class="ruby-identifier">b</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">FileTest</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">b</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">FileTest</span>.<span class="ruby-identifier">executable?</span>(<span class="ruby-identifier">b</span>)
162
+ <span class="ruby-keyword kw">end</span>
163
+ </pre>
164
+ </div>
165
+ </div>
166
+ </div>
167
+
168
+ <div id="method-M000076" class="method-detail">
169
+ <a name="M000076"></a>
170
+
171
+ <div class="method-heading">
172
+ <a href="#M000076" class="method-signature">
173
+ <span class="method-name">batch_manager</span><span class="method-args">()</span>
174
+ </a>
175
+ </div>
176
+
177
+ <div class="method-description">
178
+ <p>
179
+ Reference <a href="Batchable.html#M000077">batch</a> manager.
180
+ </p>
181
+ <p><a class="source-toggle" href="#"
182
+ onclick="toggleCode('M000076-source');return false;">[Source]</a></p>
183
+ <div class="method-source-code" id="M000076-source">
184
+ <pre>
185
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 66</span>
186
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">batch_manager</span>
187
+ <span class="ruby-ivar">@batch_manager</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">BatchManager</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>)
188
+ <span class="ruby-keyword kw">end</span>
189
+ </pre>
190
+ </div>
191
+ </div>
192
+ </div>
193
+
194
+ <div id="method-M000079" class="method-detail">
195
+ <a name="M000079"></a>
196
+
197
+ <div class="method-heading">
198
+ <a href="#M000079" class="method-signature">
199
+ <span class="method-name">done?</span><span class="method-args">(batchfile)</span>
200
+ </a>
201
+ </div>
202
+
203
+ <div class="method-description">
204
+ <p>
205
+ Is a <a href="Batchable.html#M000077">batch</a> run complete or in the
206
+ process of being completed?
207
+ </p>
208
+ <p><a class="source-toggle" href="#"
209
+ onclick="toggleCode('M000079-source');return false;">[Source]</a></p>
210
+ <div class="method-source-code" id="M000079-source">
211
+ <pre>
212
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 84</span>
213
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">done?</span>(<span class="ruby-identifier">batchfile</span>)
214
+ <span class="ruby-identifier">batch_manager</span>.<span class="ruby-identifier">done?</span>(<span class="ruby-identifier">batchfile</span>)
215
+ <span class="ruby-keyword kw">end</span>
216
+ </pre>
217
+ </div>
218
+ </div>
219
+ </div>
220
+
221
+ <div id="method-M000078" class="method-detail">
222
+ <a name="M000078"></a>
223
+
224
+ <div class="method-heading">
225
+ <a href="#M000078" class="method-signature">
226
+ <span class="method-name">launch</span><span class="method-args">(batchfile, arguments=nil)</span>
227
+ </a>
228
+ </div>
229
+
230
+ <div class="method-description">
231
+ <p>
232
+ Lauch a <a href="Batchable.html#M000077">batch</a> file (non-cached)
233
+ </p>
234
+ <p><a class="source-toggle" href="#"
235
+ onclick="toggleCode('M000078-source');return false;">[Source]</a></p>
236
+ <div class="method-source-code" id="M000078-source">
237
+ <pre>
238
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 79</span>
239
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">launch</span>(<span class="ruby-identifier">batchfile</span>, <span class="ruby-identifier">arguments</span>=<span class="ruby-keyword kw">nil</span>)
240
+ <span class="ruby-identifier">batch_manager</span>.<span class="ruby-identifier">run</span>(<span class="ruby-identifier">batchfile</span>, <span class="ruby-identifier">arguments</span>=<span class="ruby-keyword kw">nil</span>)
241
+ <span class="ruby-keyword kw">end</span>
242
+ </pre>
243
+ </div>
244
+ </div>
245
+ </div>
246
+
247
+ <div id="method-M000082" class="method-detail">
248
+ <a name="M000082"></a>
249
+
250
+ <div class="method-heading">
251
+ <a href="#M000082" class="method-signature">
252
+ <span class="method-name">method_missing</span><span class="method-args">(sym,*args)</span>
253
+ </a>
254
+ </div>
255
+
256
+ <div class="method-description">
257
+ <p>
258
+ If method is missing try to run an external task or binary by that name. If
259
+ it is a binary, arguments translate into commandline parameters. For
260
+ example:
261
+ </p>
262
+ <pre>
263
+ tar 'foo/', :x=&gt;true, :v=&gt;true, :z=&gt;true, :f=&gt;'foo.tar.gz'
264
+ </pre>
265
+ <p>
266
+ or
267
+ </p>
268
+ <pre>
269
+ tar '-xvzf', &quot;foo.tar.gz&quot;, &quot;foo/&quot;
270
+ </pre>
271
+ <p>
272
+ becomes
273
+ </p>
274
+ <pre>
275
+ tar -x -v -z -f foo.tar.gz foo/
276
+ </pre>
277
+ <p>
278
+ If it is a task, it will be cached. Tasks only ever run once. To run them
279
+ more than once you can manually execute them with run. Likewise you can
280
+ manually run and cache by calling <a
281
+ href="Batchable.html#M000077">batch</a>. This is good to know, b/c in some
282
+ cases built in method names block task calls, so you have to <a
283
+ href="Batchable.html#M000077">batch</a> to invoke them.
284
+ </p>
285
+ <p><a class="source-toggle" href="#"
286
+ onclick="toggleCode('M000082-source');return false;">[Source]</a></p>
287
+ <div class="method-source-code" id="M000082-source">
288
+ <pre>
289
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 134</span>
290
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(<span class="ruby-identifier">sym</span>,<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
291
+ <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;method_missing: #{sym}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">debug?</span>
292
+
293
+ <span class="ruby-identifier">name</span> = <span class="ruby-identifier">sym</span>.<span class="ruby-identifier">to_s</span>
294
+
295
+ <span class="ruby-identifier">bat</span> = <span class="ruby-identifier">batch?</span>(<span class="ruby-identifier">name</span>)
296
+ <span class="ruby-identifier">done</span> = <span class="ruby-identifier">bat</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">done?</span>(<span class="ruby-identifier">bat</span>)
297
+ <span class="ruby-identifier">cache</span> = <span class="ruby-identifier">bat</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">done</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">name</span>[<span class="ruby-value">1</span>,<span class="ruby-value">-1</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'!'</span>
298
+ <span class="ruby-identifier">bin</span> = <span class="ruby-identifier">bin?</span>(<span class="ruby-identifier">name</span>) <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">bat</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">done</span>)
299
+ <span class="ruby-identifier">none</span> = <span class="ruby-identifier">bat</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">done</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">bin</span>
300
+ <span class="ruby-comment cmt">#bat = name if bin</span>
301
+
302
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">super</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">bat</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">bin</span>
303
+
304
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">none</span> <span class="ruby-comment cmt"># nothing to do</span>
305
+
306
+ <span class="ruby-identifier">params</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">to_params</span>
307
+
308
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bin</span>
309
+ <span class="ruby-identifier">cmd</span> = <span class="ruby-node">&quot;#{File.basename(bin)} #{params}&quot;</span>
310
+ <span class="ruby-identifier">res</span> = <span class="ruby-identifier">sh</span>(<span class="ruby-identifier">cmd</span>)
311
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">bat</span>
312
+ <span class="ruby-identifier">cmd</span> = <span class="ruby-node">&quot;./#{bat} #{params}&quot;</span>
313
+ <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;--&gt; #{cache ? '' : 'not-'}cached execution: #{cmd}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">trace?</span>
314
+ <span class="ruby-identifier">res</span> = <span class="ruby-identifier">batch</span>(<span class="ruby-identifier">bat</span>, <span class="ruby-identifier">args</span>)
315
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cache</span>
316
+ <span class="ruby-comment cmt">#@batch_catch[bat] ||= (system(cmd); true)</span>
317
+ <span class="ruby-comment cmt">#batch_cache[bat] ||= res</span>
318
+ <span class="ruby-identifier">batch_manager</span>.<span class="ruby-identifier">cache</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">res</span>
319
+ <span class="ruby-keyword kw">end</span>
320
+ <span class="ruby-keyword kw">end</span>
321
+
322
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">res</span>
323
+ <span class="ruby-keyword kw">end</span>
324
+ </pre>
325
+ </div>
326
+ </div>
327
+ </div>
328
+
329
+ <div id="method-M000080" class="method-detail">
330
+ <a name="M000080"></a>
331
+
332
+ <div class="method-heading">
333
+ <a href="#M000080" class="method-signature">
334
+ <span class="method-name">sh</span><span class="method-args">(cmd)</span>
335
+ </a>
336
+ </div>
337
+
338
+ <div class="method-description">
339
+ <p>
340
+ Shell runner. TODO Does this belong here?
341
+ </p>
342
+ <p><a class="source-toggle" href="#"
343
+ onclick="toggleCode('M000080-source');return false;">[Source]</a></p>
344
+ <div class="method-source-code" id="M000080-source">
345
+ <pre>
346
+ <span class="ruby-comment cmt"># File lib/ratch/batchable.rb, line 90</span>
347
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sh</span>(<span class="ruby-identifier">cmd</span>)
348
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">noharm?</span>
349
+ <span class="ruby-identifier">puts</span> <span class="ruby-identifier">cmd</span>
350
+ <span class="ruby-keyword kw">true</span>
351
+ <span class="ruby-keyword kw">else</span>
352
+ <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;--&gt; system call: #{cmd}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">trace?</span>
353
+ <span class="ruby-identifier">system</span>(<span class="ruby-identifier">cmd</span>)
354
+ <span class="ruby-keyword kw">end</span>
355
+ <span class="ruby-keyword kw">end</span>
356
+ </pre>
357
+ </div>
358
+ </div>
359
+ </div>
360
+
361
+
362
+ </div>
363
+
364
+
365
+ </div>
366
+
367
+
368
+ <div id="validator-badges">
369
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
370
+ </div>
371
+
372
+ </body>
373
+ </html>