stella 0.5.1 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/README.txt +84 -24
  2. data/Rakefile +6 -1
  3. data/lib/stella.rb +5 -4
  4. data/lib/stella/adapter/ab.rb +31 -4
  5. data/lib/stella/adapter/base.rb +15 -1
  6. data/lib/stella/adapter/httperf.rb +35 -4
  7. data/lib/stella/adapter/siege.rb +51 -29
  8. data/lib/stella/cli.rb +45 -22
  9. data/lib/stella/cli/agents.rb +73 -0
  10. data/lib/stella/cli/language.rb +2 -0
  11. data/lib/stella/cli/localtest.rb +5 -0
  12. data/lib/stella/command/base.rb +1 -1
  13. data/lib/stella/command/localtest.rb +84 -68
  14. data/lib/stella/test/{summarybase.rb → base.rb} +3 -7
  15. data/lib/stella/test/definition.rb +10 -5
  16. data/lib/stella/test/{runsummary.rb → run/summary.rb} +4 -6
  17. data/lib/stella/test/{testsummary.rb → summary.rb} +27 -29
  18. data/lib/utils/escape.rb +302 -0
  19. data/lib/utils/mathutil.rb +36 -34
  20. data/support/text/en.yaml +7 -1
  21. metadata +8 -102
  22. data/doc/classes/Crypto.html +0 -248
  23. data/doc/classes/Crypto/Key.html +0 -308
  24. data/doc/classes/Enumerable.html +0 -309
  25. data/doc/classes/FileUtil.html +0 -310
  26. data/doc/classes/HTTPUtil.html +0 -530
  27. data/doc/classes/MathUtil.html +0 -210
  28. data/doc/classes/Stella.html +0 -238
  29. data/doc/classes/Stella/Adapter.html +0 -127
  30. data/doc/classes/Stella/Adapter/ApacheBench.html +0 -1076
  31. data/doc/classes/Stella/Adapter/Base.html +0 -432
  32. data/doc/classes/Stella/Adapter/CommandNotReady.html +0 -146
  33. data/doc/classes/Stella/Adapter/Httperf.html +0 -949
  34. data/doc/classes/Stella/Adapter/Siege.html +0 -1011
  35. data/doc/classes/Stella/CLI.html +0 -914
  36. data/doc/classes/Stella/CLI/Base.html +0 -186
  37. data/doc/classes/Stella/CLI/Language.html +0 -149
  38. data/doc/classes/Stella/CLI/LocalTest.html +0 -268
  39. data/doc/classes/Stella/Command.html +0 -111
  40. data/doc/classes/Stella/Command/Base.html +0 -335
  41. data/doc/classes/Stella/Config.html +0 -292
  42. data/doc/classes/Stella/InvalidArgument.html +0 -242
  43. data/doc/classes/Stella/LocalTest.html +0 -450
  44. data/doc/classes/Stella/Logger.html +0 -548
  45. data/doc/classes/Stella/Response.html +0 -846
  46. data/doc/classes/Stella/Storable.html +0 -928
  47. data/doc/classes/Stella/Test.html +0 -142
  48. data/doc/classes/Stella/Test/DaySummary.html +0 -249
  49. data/doc/classes/Stella/Test/Definition.html +0 -294
  50. data/doc/classes/Stella/Test/Definition/Rampup.html +0 -215
  51. data/doc/classes/Stella/Test/RunSummary.html +0 -315
  52. data/doc/classes/Stella/Test/SummaryBase.html +0 -286
  53. data/doc/classes/Stella/Test/TestSummary.html +0 -200
  54. data/doc/classes/Stella/Text.html +0 -581
  55. data/doc/classes/Stella/Text/Resource.html +0 -289
  56. data/doc/classes/Stella/UnavailableAdapter.html +0 -242
  57. data/doc/classes/Stella/UnknownValue.html +0 -242
  58. data/doc/classes/Stella/UnsupportedLanguage.html +0 -115
  59. data/doc/classes/Stella/Util.html +0 -348
  60. data/doc/classes/TextGraph.html +0 -460
  61. data/doc/classes/TimerUtil.html +0 -431
  62. data/doc/created.rid +0 -1
  63. data/doc/files/LICENSE_txt.html +0 -129
  64. data/doc/files/README_txt.html +0 -209
  65. data/doc/files/lib/stella/adapter/ab_rb.html +0 -101
  66. data/doc/files/lib/stella/adapter/base_rb.html +0 -101
  67. data/doc/files/lib/stella/adapter/httperf_rb.html +0 -101
  68. data/doc/files/lib/stella/adapter/siege_rb.html +0 -101
  69. data/doc/files/lib/stella/cli/base_rb.html +0 -101
  70. data/doc/files/lib/stella/cli/language_rb.html +0 -101
  71. data/doc/files/lib/stella/cli/localtest_rb.html +0 -101
  72. data/doc/files/lib/stella/cli_rb.html +0 -112
  73. data/doc/files/lib/stella/command/base_rb.html +0 -101
  74. data/doc/files/lib/stella/command/localtest_rb.html +0 -101
  75. data/doc/files/lib/stella/logger_rb.html +0 -101
  76. data/doc/files/lib/stella/response_rb.html +0 -101
  77. data/doc/files/lib/stella/storable_rb.html +0 -109
  78. data/doc/files/lib/stella/support_rb.html +0 -101
  79. data/doc/files/lib/stella/test/daysummary_rb.html +0 -101
  80. data/doc/files/lib/stella/test/definition_rb.html +0 -101
  81. data/doc/files/lib/stella/test/runsummary_rb.html +0 -101
  82. data/doc/files/lib/stella/test/summarybase_rb.html +0 -101
  83. data/doc/files/lib/stella/test/testsummary_rb.html +0 -108
  84. data/doc/files/lib/stella/text/resource_rb.html +0 -108
  85. data/doc/files/lib/stella/text_rb.html +0 -108
  86. data/doc/files/lib/stella_rb.html +0 -128
  87. data/doc/files/lib/utils/crypto-key_rb.html +0 -116
  88. data/doc/files/lib/utils/fileutil_rb.html +0 -108
  89. data/doc/files/lib/utils/httputil_rb.html +0 -110
  90. data/doc/files/lib/utils/mathutil_rb.html +0 -101
  91. data/doc/files/lib/utils/textgraph_rb.html +0 -138
  92. data/doc/files/lib/utils/timerutil_rb.html +0 -108
  93. data/doc/fr_class_index.html +0 -66
  94. data/doc/fr_file_index.html +0 -62
  95. data/doc/fr_method_index.html +0 -309
  96. data/doc/index.html +0 -24
  97. data/doc/rdoc-style.css +0 -208
  98. data/lib/stella/test/daysummary.rb +0 -93
  99. data/spec/base.rb +0 -26
  100. data/spec/shell_spec.rb +0 -12
@@ -1,914 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
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: Stella::CLI</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
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">Stella::CLI</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/stella/cli_rb.html">
59
- lib/stella/cli.rb
60
- </a>
61
- <br />
62
- <a href="../../files/lib/stella/cli/base_rb.html">
63
- lib/stella/cli/base.rb
64
- </a>
65
- <br />
66
- <a href="../../files/lib/stella/cli/language_rb.html">
67
- lib/stella/cli/language.rb
68
- </a>
69
- <br />
70
- <a href="../../files/lib/stella/cli/localtest_rb.html">
71
- lib/stella/cli/localtest.rb
72
- </a>
73
- <br />
74
- <a href="../../files/lib/stella/cli_rb.html">
75
- lib/stella/cli.rb
76
- </a>
77
- <br />
78
- </td>
79
- </tr>
80
-
81
- <tr class="top-aligned-row">
82
- <td><strong>Parent:</strong></td>
83
- <td>
84
- Object
85
- </td>
86
- </tr>
87
- </table>
88
- </div>
89
- <!-- banner header -->
90
-
91
- <div id="bodyContent">
92
-
93
-
94
-
95
- <div id="contextContent">
96
-
97
-
98
-
99
- </div>
100
-
101
- <div id="method-list">
102
- <h3 class="section-bar">Methods</h3>
103
-
104
- <div class="name-list">
105
- <a href="#M000140">dump_inputs</a>&nbsp;&nbsp;
106
- <a href="#M000133">dump_inputs</a>&nbsp;&nbsp;
107
- <a href="#M000134">new</a>&nbsp;&nbsp;
108
- <a href="#M000127">new</a>&nbsp;&nbsp;
109
- <a href="#M000139">output_version</a>&nbsp;&nbsp;
110
- <a href="#M000132">output_version</a>&nbsp;&nbsp;
111
- <a href="#M000129">process_arguments</a>&nbsp;&nbsp;
112
- <a href="#M000136">process_arguments</a>&nbsp;&nbsp;
113
- <a href="#M000137">process_options</a>&nbsp;&nbsp;
114
- <a href="#M000130">process_options</a>&nbsp;&nbsp;
115
- <a href="#M000131">process_standard_input</a>&nbsp;&nbsp;
116
- <a href="#M000138">process_standard_input</a>&nbsp;&nbsp;
117
- <a href="#M000128">run</a>&nbsp;&nbsp;
118
- <a href="#M000135">run</a>&nbsp;&nbsp;
119
- </div>
120
- </div>
121
-
122
- </div>
123
-
124
-
125
- <!-- if includes -->
126
-
127
- <div id="section">
128
-
129
- <div id="class-list">
130
- <h3 class="section-bar">Classes and Modules</h3>
131
-
132
- Class <a href="CLI/Base.html" class="link">Stella::CLI::Base</a><br />
133
- Class <a href="CLI/Language.html" class="link">Stella::CLI::Language</a><br />
134
- Class <a href="CLI/LocalTest.html" class="link">Stella::CLI::LocalTest</a><br />
135
-
136
- </div>
137
-
138
-
139
-
140
-
141
- <div id="attribute-list">
142
- <h3 class="section-bar">Attributes</h3>
143
-
144
- <div class="name-list">
145
- <table>
146
- <tr class="top-aligned-row context-row">
147
- <td class="context-item-name">commands</td>
148
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
149
- <td class="context-item-desc"></td>
150
- </tr>
151
- <tr class="top-aligned-row context-row">
152
- <td class="context-item-name">commands</td>
153
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
154
- <td class="context-item-desc"></td>
155
- </tr>
156
- <tr class="top-aligned-row context-row">
157
- <td class="context-item-name">logger</td>
158
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
159
- <td class="context-item-desc"></td>
160
- </tr>
161
- <tr class="top-aligned-row context-row">
162
- <td class="context-item-name">logger</td>
163
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
164
- <td class="context-item-desc"></td>
165
- </tr>
166
- <tr class="top-aligned-row context-row">
167
- <td class="context-item-name">options</td>
168
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
169
- <td class="context-item-desc"></td>
170
- </tr>
171
- <tr class="top-aligned-row context-row">
172
- <td class="context-item-name">options</td>
173
- <td class="context-item-value">&nbsp;[R]&nbsp;</td>
174
- <td class="context-item-desc"></td>
175
- </tr>
176
- </table>
177
- </div>
178
- </div>
179
-
180
-
181
-
182
- <!-- if method_list -->
183
- <div id="methods">
184
- <h3 class="section-bar">Public Class methods</h3>
185
-
186
- <div id="method-M000134" class="method-detail">
187
- <a name="M000134"></a>
188
-
189
- <div class="method-heading">
190
- <a href="#M000134" class="method-signature">
191
- <span class="method-name">new</span><span class="method-args">(arguments=[], stdin=nil)</span>
192
- </a>
193
- </div>
194
-
195
- <div class="method-description">
196
- <p><a class="source-toggle" href="#"
197
- onclick="toggleCode('M000134-source');return false;">[Source]</a></p>
198
- <div class="method-source-code" id="M000134-source">
199
- <pre>
200
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 52</span>
201
- 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">arguments</span>=[], <span class="ruby-identifier">stdin</span>=<span class="ruby-keyword kw">nil</span>)
202
- 53: <span class="ruby-ivar">@arguments</span> = <span class="ruby-identifier">arguments</span>
203
- 54: <span class="ruby-ivar">@stdin</span> = <span class="ruby-identifier">stdin</span>
204
- 55:
205
- 56: <span class="ruby-ivar">@commands</span> = {
206
- 57: <span class="ruby-value str">'ab'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">LocalTest</span>,
207
- 58: <span class="ruby-value str">'siege'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">LocalTest</span>,
208
- 59: <span class="ruby-value str">'httperf'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">LocalTest</span>,
209
- 60: <span class="ruby-value str">'lang'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">Language</span>
210
- 61: }
211
- 62: <span class="ruby-ivar">@config</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>
212
- 63: <span class="ruby-ivar">@options</span> = <span class="ruby-constant">OpenStruct</span>.<span class="ruby-identifier">new</span>
213
- 64: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">verbose</span> = <span class="ruby-value">0</span>
214
- 65: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">agents</span> = []
215
- 66: <span class="ruby-keyword kw">end</span>
216
- </pre>
217
- </div>
218
- </div>
219
- </div>
220
-
221
- <div id="method-M000127" class="method-detail">
222
- <a name="M000127"></a>
223
-
224
- <div class="method-heading">
225
- <a href="#M000127" class="method-signature">
226
- <span class="method-name">new</span><span class="method-args">(arguments=[], stdin=nil)</span>
227
- </a>
228
- </div>
229
-
230
- <div class="method-description">
231
- <p><a class="source-toggle" href="#"
232
- onclick="toggleCode('M000127-source');return false;">[Source]</a></p>
233
- <div class="method-source-code" id="M000127-source">
234
- <pre>
235
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 52</span>
236
- 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">arguments</span>=[], <span class="ruby-identifier">stdin</span>=<span class="ruby-keyword kw">nil</span>)
237
- 53: <span class="ruby-ivar">@arguments</span> = <span class="ruby-identifier">arguments</span>
238
- 54: <span class="ruby-ivar">@stdin</span> = <span class="ruby-identifier">stdin</span>
239
- 55:
240
- 56: <span class="ruby-ivar">@commands</span> = {
241
- 57: <span class="ruby-value str">'ab'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">LocalTest</span>,
242
- 58: <span class="ruby-value str">'siege'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">LocalTest</span>,
243
- 59: <span class="ruby-value str">'httperf'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">LocalTest</span>,
244
- 60: <span class="ruby-value str">'lang'</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">CLI</span><span class="ruby-operator">::</span><span class="ruby-constant">Language</span>
245
- 61: }
246
- 62: <span class="ruby-ivar">@config</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Config</span>.<span class="ruby-identifier">new</span>
247
- 63: <span class="ruby-ivar">@options</span> = <span class="ruby-constant">OpenStruct</span>.<span class="ruby-identifier">new</span>
248
- 64: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">verbose</span> = <span class="ruby-value">0</span>
249
- 65: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">agents</span> = []
250
- 66: <span class="ruby-keyword kw">end</span>
251
- </pre>
252
- </div>
253
- </div>
254
- </div>
255
-
256
- <h3 class="section-bar">Public Instance methods</h3>
257
-
258
- <div id="method-M000128" class="method-detail">
259
- <a name="M000128"></a>
260
-
261
- <div class="method-heading">
262
- <a href="#M000128" class="method-signature">
263
- <span class="method-name">run</span><span class="method-args">()</span>
264
- </a>
265
- </div>
266
-
267
- <div class="method-description">
268
- <p><a class="source-toggle" href="#"
269
- onclick="toggleCode('M000128-source');return false;">[Source]</a></p>
270
- <div class="method-source-code" id="M000128-source">
271
- <pre>
272
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 68</span>
273
- 68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>
274
- 69: <span class="ruby-identifier">process_arguments</span>
275
- 70: <span class="ruby-identifier">process_options</span>
276
- 71:
277
- 72: <span class="ruby-keyword kw">unless</span> (<span class="ruby-ivar">@command_name</span>)
278
- 73: <span class="ruby-identifier">process_options</span>(<span class="ruby-identifier">:display</span>)
279
- 74: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
280
- 75: <span class="ruby-keyword kw">end</span>
281
- 76:
282
- 77: <span class="ruby-comment cmt"># Pull the requested command object out of the list</span>
283
- 78: <span class="ruby-comment cmt"># and tell it what shortname that was used to call it.</span>
284
- 79: <span class="ruby-identifier">command</span> = <span class="ruby-ivar">@commands</span>[<span class="ruby-ivar">@command_name</span>].<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@command_name</span>)
285
- 80:
286
- 81: <span class="ruby-comment cmt"># Give the command object access to the config and runtime options</span>
287
- 82: <span class="ruby-comment cmt">#command.global_config = @config </span>
288
- 83: <span class="ruby-identifier">command</span>.<span class="ruby-identifier">stella_options</span> = <span class="ruby-ivar">@options</span>
289
- 84: <span class="ruby-identifier">command</span>.<span class="ruby-identifier">arguments</span> = <span class="ruby-ivar">@command_arguments</span>
290
- 85: <span class="ruby-identifier">command</span>.<span class="ruby-identifier">working_directory</span> = <span class="ruby-ivar">@config</span>.<span class="ruby-identifier">working_directory</span>
291
- 86:
292
- 87: <span class="ruby-identifier">command</span>.<span class="ruby-identifier">run</span>
293
- 88:
294
- 89:
295
- 90: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ex</span>
296
- 91: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">ex</span>)
297
- 92: <span class="ruby-keyword kw">end</span>
298
- </pre>
299
- </div>
300
- </div>
301
- </div>
302
-
303
- <div id="method-M000135" class="method-detail">
304
- <a name="M000135"></a>
305
-
306
- <div class="method-heading">
307
- <a href="#M000135" class="method-signature">
308
- <span class="method-name">run</span><span class="method-args">()</span>
309
- </a>
310
- </div>
311
-
312
- <div class="method-description">
313
- <p><a class="source-toggle" href="#"
314
- onclick="toggleCode('M000135-source');return false;">[Source]</a></p>
315
- <div class="method-source-code" id="M000135-source">
316
- <pre>
317
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 68</span>
318
- 68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>
319
- 69: <span class="ruby-identifier">process_arguments</span>
320
- 70: <span class="ruby-identifier">process_options</span>
321
- 71:
322
- 72: <span class="ruby-keyword kw">unless</span> (<span class="ruby-ivar">@command_name</span>)
323
- 73: <span class="ruby-identifier">process_options</span>(<span class="ruby-identifier">:display</span>)
324
- 74: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
325
- 75: <span class="ruby-keyword kw">end</span>
326
- 76:
327
- 77: <span class="ruby-comment cmt"># Pull the requested command object out of the list</span>
328
- 78: <span class="ruby-comment cmt"># and tell it what shortname that was used to call it.</span>
329
- 79: <span class="ruby-identifier">command</span> = <span class="ruby-ivar">@commands</span>[<span class="ruby-ivar">@command_name</span>].<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@command_name</span>)
330
- 80:
331
- 81: <span class="ruby-comment cmt"># Give the command object access to the config and runtime options</span>
332
- 82: <span class="ruby-comment cmt">#command.global_config = @config </span>
333
- 83: <span class="ruby-identifier">command</span>.<span class="ruby-identifier">stella_options</span> = <span class="ruby-ivar">@options</span>
334
- 84: <span class="ruby-identifier">command</span>.<span class="ruby-identifier">arguments</span> = <span class="ruby-ivar">@command_arguments</span>
335
- 85: <span class="ruby-identifier">command</span>.<span class="ruby-identifier">working_directory</span> = <span class="ruby-ivar">@config</span>.<span class="ruby-identifier">working_directory</span>
336
- 86:
337
- 87: <span class="ruby-identifier">command</span>.<span class="ruby-identifier">run</span>
338
- 88:
339
- 89:
340
- 90: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ex</span>
341
- 91: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">ex</span>)
342
- 92: <span class="ruby-keyword kw">end</span>
343
- </pre>
344
- </div>
345
- </div>
346
- </div>
347
-
348
- <h3 class="section-bar">Protected Instance methods</h3>
349
-
350
- <div id="method-M000140" class="method-detail">
351
- <a name="M000140"></a>
352
-
353
- <div class="method-heading">
354
- <a href="#M000140" class="method-signature">
355
- <span class="method-name">dump_inputs</span><span class="method-args">()</span>
356
- </a>
357
- </div>
358
-
359
- <div class="method-description">
360
- <p><a class="source-toggle" href="#"
361
- onclick="toggleCode('M000140-source');return false;">[Source]</a></p>
362
- <div class="method-source-code" id="M000140-source">
363
- <pre>
364
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 245</span>
365
- 245: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dump_inputs</span>
366
- 246:
367
- 247: <span class="ruby-comment cmt">#ENV.each_pair do |n,v|</span>
368
- 248: <span class="ruby-comment cmt"># Stella::LOGGER.debug(&quot;ENV[#{n}]=#{v}&quot;)</span>
369
- 249: <span class="ruby-comment cmt">#end</span>
370
- 250:
371
- 251: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Commands (#{@command_name}): #{@commands.keys.join(',')}&quot;</span>)
372
- 252:
373
- 253: <span class="ruby-comment cmt">#Stella::LOGGER.debug(&quot;Configs: &quot;)</span>
374
- 254: <span class="ruby-comment cmt">#@config.to_hash.each_pair do |n,v|</span>
375
- 255: <span class="ruby-comment cmt"># Stella::LOGGER.debug(&quot; #{n}=#{v}&quot;)</span>
376
- 256: <span class="ruby-comment cmt">#end</span>
377
- 257:
378
- 258: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;Options: &quot;</span>)
379
- 259: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">marshal_dump</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
380
- 260: <span class="ruby-identifier">v</span> = [<span class="ruby-identifier">v</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Array</span>
381
- 261: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot; #{n} = #{v.join(',')}&quot;</span>)
382
- 262: <span class="ruby-keyword kw">end</span>
383
- 263:
384
- 264: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Stella Arguments: #{@stella_arguments.join(',')}&quot;</span>)
385
- 265: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Command Arguments: #{@command_arguments.join(',')}&quot;</span> )
386
- 266: <span class="ruby-keyword kw">end</span>
387
- </pre>
388
- </div>
389
- </div>
390
- </div>
391
-
392
- <div id="method-M000133" class="method-detail">
393
- <a name="M000133"></a>
394
-
395
- <div class="method-heading">
396
- <a href="#M000133" class="method-signature">
397
- <span class="method-name">dump_inputs</span><span class="method-args">()</span>
398
- </a>
399
- </div>
400
-
401
- <div class="method-description">
402
- <p><a class="source-toggle" href="#"
403
- onclick="toggleCode('M000133-source');return false;">[Source]</a></p>
404
- <div class="method-source-code" id="M000133-source">
405
- <pre>
406
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 245</span>
407
- 245: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">dump_inputs</span>
408
- 246:
409
- 247: <span class="ruby-comment cmt">#ENV.each_pair do |n,v|</span>
410
- 248: <span class="ruby-comment cmt"># Stella::LOGGER.debug(&quot;ENV[#{n}]=#{v}&quot;)</span>
411
- 249: <span class="ruby-comment cmt">#end</span>
412
- 250:
413
- 251: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Commands (#{@command_name}): #{@commands.keys.join(',')}&quot;</span>)
414
- 252:
415
- 253: <span class="ruby-comment cmt">#Stella::LOGGER.debug(&quot;Configs: &quot;)</span>
416
- 254: <span class="ruby-comment cmt">#@config.to_hash.each_pair do |n,v|</span>
417
- 255: <span class="ruby-comment cmt"># Stella::LOGGER.debug(&quot; #{n}=#{v}&quot;)</span>
418
- 256: <span class="ruby-comment cmt">#end</span>
419
- 257:
420
- 258: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-value str">&quot;Options: &quot;</span>)
421
- 259: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">marshal_dump</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
422
- 260: <span class="ruby-identifier">v</span> = [<span class="ruby-identifier">v</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Array</span>
423
- 261: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot; #{n} = #{v.join(',')}&quot;</span>)
424
- 262: <span class="ruby-keyword kw">end</span>
425
- 263:
426
- 264: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Stella Arguments: #{@stella_arguments.join(',')}&quot;</span>)
427
- 265: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-node">&quot;Command Arguments: #{@command_arguments.join(',')}&quot;</span> )
428
- 266: <span class="ruby-keyword kw">end</span>
429
- </pre>
430
- </div>
431
- </div>
432
- </div>
433
-
434
- <div id="method-M000139" class="method-detail">
435
- <a name="M000139"></a>
436
-
437
- <div class="method-heading">
438
- <a href="#M000139" class="method-signature">
439
- <span class="method-name">output_version</span><span class="method-args">()</span>
440
- </a>
441
- </div>
442
-
443
- <div class="method-description">
444
- <p><a class="source-toggle" href="#"
445
- onclick="toggleCode('M000139-source');return false;">[Source]</a></p>
446
- <div class="method-source-code" id="M000139-source">
447
- <pre>
448
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 241</span>
449
- 241: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">output_version</span>
450
- 242: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">info</span>(<span class="ruby-identifier">:cli_print_version</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>.<span class="ruby-identifier">to_s</span>)
451
- 243: <span class="ruby-keyword kw">end</span>
452
- </pre>
453
- </div>
454
- </div>
455
- </div>
456
-
457
- <div id="method-M000132" class="method-detail">
458
- <a name="M000132"></a>
459
-
460
- <div class="method-heading">
461
- <a href="#M000132" class="method-signature">
462
- <span class="method-name">output_version</span><span class="method-args">()</span>
463
- </a>
464
- </div>
465
-
466
- <div class="method-description">
467
- <p><a class="source-toggle" href="#"
468
- onclick="toggleCode('M000132-source');return false;">[Source]</a></p>
469
- <div class="method-source-code" id="M000132-source">
470
- <pre>
471
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 241</span>
472
- 241: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">output_version</span>
473
- 242: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">info</span>(<span class="ruby-identifier">:cli_print_version</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">VERSION</span>.<span class="ruby-identifier">to_s</span>)
474
- 243: <span class="ruby-keyword kw">end</span>
475
- </pre>
476
- </div>
477
- </div>
478
- </div>
479
-
480
- <div id="method-M000129" class="method-detail">
481
- <a name="M000129"></a>
482
-
483
- <div class="method-heading">
484
- <a href="#M000129" class="method-signature">
485
- <span class="method-name">process_arguments</span><span class="method-args">()</span>
486
- </a>
487
- </div>
488
-
489
- <div class="method-description">
490
- <p>
491
- <a href="CLI.html#M000129">process_arguments</a>
492
- </p>
493
- <p>
494
- Split the arguments into stella args and command args i.e. stella -H push
495
- -f (-H is a stella arg, -f is a command arg) True if required arguments
496
- were provided
497
- </p>
498
- <p><a class="source-toggle" href="#"
499
- onclick="toggleCode('M000129-source');return false;">[Source]</a></p>
500
- <div class="method-source-code" id="M000129-source">
501
- <pre>
502
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 103</span>
503
- 103: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_arguments</span>
504
- 104:
505
- 105: <span class="ruby-ivar">@command_name</span> = <span class="ruby-keyword kw">nil</span>
506
- 106: <span class="ruby-ivar">@arguments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
507
- 107: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">arg</span>)
508
- 108: <span class="ruby-ivar">@command_name</span> = <span class="ruby-identifier">arg</span>
509
- 109: <span class="ruby-identifier">index</span> = <span class="ruby-ivar">@arguments</span>.<span class="ruby-identifier">index</span>(<span class="ruby-ivar">@command_name</span>)
510
- 110: <span class="ruby-ivar">@command_arguments</span> = <span class="ruby-ivar">@arguments</span>[<span class="ruby-identifier">index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-ivar">@arguments</span>.<span class="ruby-identifier">size</span>]
511
- 111: <span class="ruby-ivar">@stella_arguments</span> = <span class="ruby-ivar">@arguments</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">index</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
512
- 112: <span class="ruby-keyword kw">break</span>
513
- 113: <span class="ruby-keyword kw">end</span>
514
- 114: <span class="ruby-keyword kw">end</span>
515
- 115:
516
- 116: <span class="ruby-ivar">@command_arguments</span> = [] <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@command_arguments</span>.<span class="ruby-identifier">nil?</span>
517
- 117: <span class="ruby-ivar">@stella_arguments</span> = [] <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stella_arguments</span>.<span class="ruby-identifier">nil?</span>
518
- 118:
519
- 119: <span class="ruby-comment cmt"># If there's no command we'll assume all the options are for Stella</span>
520
- 120: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@command_name</span>
521
- 121: <span class="ruby-ivar">@stella_arguments</span> = <span class="ruby-ivar">@arguments</span>
522
- 122: <span class="ruby-ivar">@arguments</span> = []
523
- 123: <span class="ruby-keyword kw">end</span>
524
- 124:
525
- 125: <span class="ruby-keyword kw">end</span>
526
- </pre>
527
- </div>
528
- </div>
529
- </div>
530
-
531
- <div id="method-M000136" class="method-detail">
532
- <a name="M000136"></a>
533
-
534
- <div class="method-heading">
535
- <a href="#M000136" class="method-signature">
536
- <span class="method-name">process_arguments</span><span class="method-args">()</span>
537
- </a>
538
- </div>
539
-
540
- <div class="method-description">
541
- <p>
542
- <a href="CLI.html#M000129">process_arguments</a>
543
- </p>
544
- <p>
545
- Split the arguments into stella args and command args i.e. stella -H push
546
- -f (-H is a stella arg, -f is a command arg) True if required arguments
547
- were provided
548
- </p>
549
- <p><a class="source-toggle" href="#"
550
- onclick="toggleCode('M000136-source');return false;">[Source]</a></p>
551
- <div class="method-source-code" id="M000136-source">
552
- <pre>
553
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 103</span>
554
- 103: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_arguments</span>
555
- 104:
556
- 105: <span class="ruby-ivar">@command_name</span> = <span class="ruby-keyword kw">nil</span>
557
- 106: <span class="ruby-ivar">@arguments</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">arg</span><span class="ruby-operator">|</span>
558
- 107: <span class="ruby-keyword kw">if</span> (<span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">has_key?</span> <span class="ruby-identifier">arg</span>)
559
- 108: <span class="ruby-ivar">@command_name</span> = <span class="ruby-identifier">arg</span>
560
- 109: <span class="ruby-identifier">index</span> = <span class="ruby-ivar">@arguments</span>.<span class="ruby-identifier">index</span>(<span class="ruby-ivar">@command_name</span>)
561
- 110: <span class="ruby-ivar">@command_arguments</span> = <span class="ruby-ivar">@arguments</span>[<span class="ruby-identifier">index</span> <span class="ruby-operator">+</span> <span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-ivar">@arguments</span>.<span class="ruby-identifier">size</span>]
562
- 111: <span class="ruby-ivar">@stella_arguments</span> = <span class="ruby-ivar">@arguments</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-identifier">index</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">0</span>
563
- 112: <span class="ruby-keyword kw">break</span>
564
- 113: <span class="ruby-keyword kw">end</span>
565
- 114: <span class="ruby-keyword kw">end</span>
566
- 115:
567
- 116: <span class="ruby-ivar">@command_arguments</span> = [] <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@command_arguments</span>.<span class="ruby-identifier">nil?</span>
568
- 117: <span class="ruby-ivar">@stella_arguments</span> = [] <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stella_arguments</span>.<span class="ruby-identifier">nil?</span>
569
- 118:
570
- 119: <span class="ruby-comment cmt"># If there's no command we'll assume all the options are for Stella</span>
571
- 120: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@command_name</span>
572
- 121: <span class="ruby-ivar">@stella_arguments</span> = <span class="ruby-ivar">@arguments</span>
573
- 122: <span class="ruby-ivar">@arguments</span> = []
574
- 123: <span class="ruby-keyword kw">end</span>
575
- 124:
576
- 125: <span class="ruby-keyword kw">end</span>
577
- </pre>
578
- </div>
579
- </div>
580
- </div>
581
-
582
- <div id="method-M000137" class="method-detail">
583
- <a name="M000137"></a>
584
-
585
- <div class="method-heading">
586
- <a href="#M000137" class="method-signature">
587
- <span class="method-name">process_options</span><span class="method-args">(display=false)</span>
588
- </a>
589
- </div>
590
-
591
- <div class="method-description">
592
- <p>
593
- <a href="CLI.html#M000130">process_options</a>
594
- </p>
595
- <p>
596
- Handle the command-line options for stella. Note: The command specific
597
- options are handled by the command/*.rb classes
598
- </p>
599
- <table>
600
- <tr><td valign="top">display:</td><td>When true, it&#8216;ll print out the options and not parse the arguments
601
-
602
- </td></tr>
603
- </table>
604
- <p><a class="source-toggle" href="#"
605
- onclick="toggleCode('M000137-source');return false;">[Source]</a></p>
606
- <div class="method-source-code" id="M000137-source">
607
- <pre>
608
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 132</span>
609
- 132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_options</span>(<span class="ruby-identifier">display</span>=<span class="ruby-keyword kw">false</span>)
610
- 133:
611
- 134: <span class="ruby-identifier">opts</span> = <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span>
612
- 135: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_usage</span>)
613
- 136: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_preamble</span>, <span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>))
614
- 137:
615
- 138: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_options_title</span>))
616
- 139: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-V'</span>, <span class="ruby-value str">'--version'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_version</span>)) <span class="ruby-keyword kw">do</span>
617
- 140: <span class="ruby-identifier">output_version</span>
618
- 141: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
619
- 142: <span class="ruby-keyword kw">end</span>
620
- 143: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-h'</span>, <span class="ruby-value str">'--help'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_help</span>)) { <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>; <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span> }
621
- 144:
622
- 145: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-v'</span>, <span class="ruby-value str">'--verbose'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_verbose</span>)) <span class="ruby-keyword kw">do</span>
623
- 146: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">verbose</span> <span class="ruby-operator">||=</span> <span class="ruby-value">0</span>
624
- 147: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">verbose</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
625
- 148: <span class="ruby-keyword kw">end</span>
626
- 149: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-q'</span>, <span class="ruby-value str">'--quiet'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_quiet</span>)) <span class="ruby-keyword kw">do</span>
627
- 150: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">quiet</span> = <span class="ruby-keyword kw">true</span>
628
- 151: <span class="ruby-keyword kw">end</span>
629
- 152: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--overhead'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_overhead</span>)) <span class="ruby-keyword kw">do</span>
630
- 153: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">showoverhead</span> = <span class="ruby-keyword kw">true</span>
631
- 154: <span class="ruby-keyword kw">end</span>
632
- 155:
633
- 156: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-O'</span>, <span class="ruby-value str">'--stdout'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_stdout</span>)) <span class="ruby-keyword kw">do</span>
634
- 157: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">stdout</span> = <span class="ruby-keyword kw">true</span>
635
- 158: <span class="ruby-keyword kw">end</span>
636
- 159: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-E'</span>, <span class="ruby-value str">'--stderr'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_stderr</span>)) <span class="ruby-keyword kw">do</span>
637
- 160: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">stdout</span> = <span class="ruby-keyword kw">true</span>
638
- 161: <span class="ruby-keyword kw">end</span>
639
- 162:
640
- 163: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-m'</span>, <span class="ruby-value str">'--message=M'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_message</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
641
- 164: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">message</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>
642
- 165: <span class="ruby-keyword kw">end</span>
643
- 166: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-s'</span>, <span class="ruby-value str">'--sleep=N'</span>, <span class="ruby-constant">Float</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_sleep</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
644
- 167: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">sleep</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_f</span>
645
- 168: <span class="ruby-keyword kw">end</span>
646
- 169:
647
- 170: <span class="ruby-comment cmt"># Ramp up, establish default and enforce limits</span>
648
- 171: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-r [R,U]'</span>, <span class="ruby-value str">'--rampup'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_rampup</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
649
- 172: <span class="ruby-identifier">amount</span> = (<span class="ruby-identifier">v</span>) <span class="ruby-operator">?</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">v</span>) <span class="ruby-operator">:</span> [<span class="ruby-value">10</span>,<span class="ruby-value">100</span>]
650
- 173: <span class="ruby-identifier">amount</span>[<span class="ruby-value">0</span>] = <span class="ruby-constant">MathUtil</span>.<span class="ruby-identifier">enforce_limit</span>(<span class="ruby-identifier">amount</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">to_i</span>, <span class="ruby-value">1</span>, <span class="ruby-value">100</span>)
651
- 174: <span class="ruby-identifier">amount</span>[<span class="ruby-value">1</span>] = <span class="ruby-constant">MathUtil</span>.<span class="ruby-identifier">enforce_limit</span>((<span class="ruby-identifier">amount</span>[<span class="ruby-value">1</span>]) <span class="ruby-operator">?</span> <span class="ruby-identifier">amount</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>, (<span class="ruby-identifier">amount</span>[<span class="ruby-value">0</span>]<span class="ruby-operator">*</span><span class="ruby-value">2</span>), <span class="ruby-value">1000</span>)
652
- 175: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">rampup</span> = <span class="ruby-identifier">amount</span>
653
- 176: <span class="ruby-keyword kw">end</span>
654
- 177:
655
- 178: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-x'</span>, <span class="ruby-value str">'--testreps=N'</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_testreps</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
656
- 179: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">testreps</span> = <span class="ruby-constant">MathUtil</span>.<span class="ruby-identifier">enforce_limit</span>(<span class="ruby-identifier">v</span>,<span class="ruby-value">1</span>,<span class="ruby-value">10</span>)
657
- 180: <span class="ruby-keyword kw">end</span>
658
- 181:
659
- 182: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-w [N]'</span>, <span class="ruby-value str">'--warmup'</span>, <span class="ruby-constant">Float</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_warmup</span>, <span class="ruby-value">0</span><span class="ruby-value">.1</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
660
- 183: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">warmup</span> = <span class="ruby-constant">MathUtil</span>.<span class="ruby-identifier">enforce_limit</span>(((<span class="ruby-identifier">v</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>), <span class="ruby-value">0</span><span class="ruby-value">.1</span>, <span class="ruby-value">1</span>)
661
- 184: <span class="ruby-keyword kw">end</span>
662
- 185:
663
- 186: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-a'</span>, <span class="ruby-value str">'--agent=S'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_agent</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
664
- 187: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Agent is empty&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">empty?</span>
665
- 188: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">agents</span> <span class="ruby-operator">||=</span> []
666
- 189: <span class="ruby-identifier">agent_ary</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">v</span>)
667
- 190: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">agents</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">agent_ary</span>)
668
- 191: <span class="ruby-keyword kw">end</span>
669
- 192:
670
- 193: <span class="ruby-comment cmt"># The following options are considered &quot;repeatable&quot; so they're stored in </span>
671
- 194: <span class="ruby-comment cmt"># the config file and used as defaults for the next run. </span>
672
- 195: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-d'</span>, <span class="ruby-value str">'--datapath=S'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_datapath</span>, <span class="ruby-node">&quot;.#{File::SEPARATOR}stella&quot;</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
673
- 196: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">data_path</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>
674
- 197: <span class="ruby-keyword kw">end</span>
675
- 198: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-f'</span>, <span class="ruby-value str">'--format=S'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_format</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
676
- 199: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>
677
- 200: <span class="ruby-keyword kw">end</span>
678
- 201:
679
- 202: <span class="ruby-comment cmt"># This is used for printing the help from other parts of this class</span>
680
- 203: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">display</span>
681
- 204: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">opts</span>
682
- 205: <span class="ruby-keyword kw">return</span>
683
- 206: <span class="ruby-keyword kw">end</span>
684
- 207:
685
- 208: <span class="ruby-comment cmt"># This applies the configuration above to the arguments provided. </span>
686
- 209: <span class="ruby-comment cmt"># It also removes the discovered options from @stella_arguments</span>
687
- 210: <span class="ruby-comment cmt"># leaving only the unnamed arguments. </span>
688
- 211: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">parse!</span>(<span class="ruby-ivar">@stella_arguments</span>)
689
- 212:
690
- 213: <span class="ruby-comment cmt"># Quiet supercedes verbose</span>
691
- 214: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">verbose</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">quiet</span>
692
- 215:
693
- 216:
694
- 217: <span class="ruby-comment cmt"># This outputs when debugging is enabled. </span>
695
- 218: <span class="ruby-identifier">dump_inputs</span>
696
- 219:
697
- 220:
698
- 221: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">OptionParser</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidOption</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ex</span>
699
- 222: <span class="ruby-comment cmt"># We want to replace this text so we grab just the name of the argument</span>
700
- 223: <span class="ruby-identifier">badarg</span> = <span class="ruby-identifier">ex</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">'invalid option: '</span>, <span class="ruby-value str">''</span>)
701
- 224: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidArgument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">badarg</span>)
702
- 225: <span class="ruby-keyword kw">end</span>
703
- </pre>
704
- </div>
705
- </div>
706
- </div>
707
-
708
- <div id="method-M000130" class="method-detail">
709
- <a name="M000130"></a>
710
-
711
- <div class="method-heading">
712
- <a href="#M000130" class="method-signature">
713
- <span class="method-name">process_options</span><span class="method-args">(display=false)</span>
714
- </a>
715
- </div>
716
-
717
- <div class="method-description">
718
- <p>
719
- <a href="CLI.html#M000130">process_options</a>
720
- </p>
721
- <p>
722
- Handle the command-line options for stella. Note: The command specific
723
- options are handled by the command/*.rb classes
724
- </p>
725
- <table>
726
- <tr><td valign="top">display:</td><td>When true, it&#8216;ll print out the options and not parse the arguments
727
-
728
- </td></tr>
729
- </table>
730
- <p><a class="source-toggle" href="#"
731
- onclick="toggleCode('M000130-source');return false;">[Source]</a></p>
732
- <div class="method-source-code" id="M000130-source">
733
- <pre>
734
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 132</span>
735
- 132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_options</span>(<span class="ruby-identifier">display</span>=<span class="ruby-keyword kw">false</span>)
736
- 133:
737
- 134: <span class="ruby-identifier">opts</span> = <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span>
738
- 135: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_usage</span>)
739
- 136: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_preamble</span>, <span class="ruby-ivar">@commands</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>))
740
- 137:
741
- 138: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_options_title</span>))
742
- 139: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-V'</span>, <span class="ruby-value str">'--version'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_version</span>)) <span class="ruby-keyword kw">do</span>
743
- 140: <span class="ruby-identifier">output_version</span>
744
- 141: <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span>
745
- 142: <span class="ruby-keyword kw">end</span>
746
- 143: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-h'</span>, <span class="ruby-value str">'--help'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_help</span>)) { <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>; <span class="ruby-identifier">exit</span> <span class="ruby-value">0</span> }
747
- 144:
748
- 145: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-v'</span>, <span class="ruby-value str">'--verbose'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_verbose</span>)) <span class="ruby-keyword kw">do</span>
749
- 146: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">verbose</span> <span class="ruby-operator">||=</span> <span class="ruby-value">0</span>
750
- 147: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">verbose</span> <span class="ruby-operator">+=</span> <span class="ruby-value">1</span>
751
- 148: <span class="ruby-keyword kw">end</span>
752
- 149: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-q'</span>, <span class="ruby-value str">'--quiet'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_quiet</span>)) <span class="ruby-keyword kw">do</span>
753
- 150: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">quiet</span> = <span class="ruby-keyword kw">true</span>
754
- 151: <span class="ruby-keyword kw">end</span>
755
- 152: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'--overhead'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_overhead</span>)) <span class="ruby-keyword kw">do</span>
756
- 153: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">showoverhead</span> = <span class="ruby-keyword kw">true</span>
757
- 154: <span class="ruby-keyword kw">end</span>
758
- 155:
759
- 156: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-O'</span>, <span class="ruby-value str">'--stdout'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_stdout</span>)) <span class="ruby-keyword kw">do</span>
760
- 157: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">stdout</span> = <span class="ruby-keyword kw">true</span>
761
- 158: <span class="ruby-keyword kw">end</span>
762
- 159: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-E'</span>, <span class="ruby-value str">'--stderr'</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_stderr</span>)) <span class="ruby-keyword kw">do</span>
763
- 160: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">stdout</span> = <span class="ruby-keyword kw">true</span>
764
- 161: <span class="ruby-keyword kw">end</span>
765
- 162:
766
- 163: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-m'</span>, <span class="ruby-value str">'--message=M'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_message</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
767
- 164: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">message</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>
768
- 165: <span class="ruby-keyword kw">end</span>
769
- 166: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-s'</span>, <span class="ruby-value str">'--sleep=N'</span>, <span class="ruby-constant">Float</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_sleep</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
770
- 167: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">sleep</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_f</span>
771
- 168: <span class="ruby-keyword kw">end</span>
772
- 169:
773
- 170: <span class="ruby-comment cmt"># Ramp up, establish default and enforce limits</span>
774
- 171: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-r [R,U]'</span>, <span class="ruby-value str">'--rampup'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_rampup</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
775
- 172: <span class="ruby-identifier">amount</span> = (<span class="ruby-identifier">v</span>) <span class="ruby-operator">?</span> <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">v</span>) <span class="ruby-operator">:</span> [<span class="ruby-value">10</span>,<span class="ruby-value">100</span>]
776
- 173: <span class="ruby-identifier">amount</span>[<span class="ruby-value">0</span>] = <span class="ruby-constant">MathUtil</span>.<span class="ruby-identifier">enforce_limit</span>(<span class="ruby-identifier">amount</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">to_i</span>, <span class="ruby-value">1</span>, <span class="ruby-value">100</span>)
777
- 174: <span class="ruby-identifier">amount</span>[<span class="ruby-value">1</span>] = <span class="ruby-constant">MathUtil</span>.<span class="ruby-identifier">enforce_limit</span>((<span class="ruby-identifier">amount</span>[<span class="ruby-value">1</span>]) <span class="ruby-operator">?</span> <span class="ruby-identifier">amount</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>, (<span class="ruby-identifier">amount</span>[<span class="ruby-value">0</span>]<span class="ruby-operator">*</span><span class="ruby-value">2</span>), <span class="ruby-value">1000</span>)
778
- 175: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">rampup</span> = <span class="ruby-identifier">amount</span>
779
- 176: <span class="ruby-keyword kw">end</span>
780
- 177:
781
- 178: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-x'</span>, <span class="ruby-value str">'--testreps=N'</span>, <span class="ruby-constant">Integer</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_testreps</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
782
- 179: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">testreps</span> = <span class="ruby-constant">MathUtil</span>.<span class="ruby-identifier">enforce_limit</span>(<span class="ruby-identifier">v</span>,<span class="ruby-value">1</span>,<span class="ruby-value">10</span>)
783
- 180: <span class="ruby-keyword kw">end</span>
784
- 181:
785
- 182: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-w [N]'</span>, <span class="ruby-value str">'--warmup'</span>, <span class="ruby-constant">Float</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_warmup</span>, <span class="ruby-value">0</span><span class="ruby-value">.1</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
786
- 183: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">warmup</span> = <span class="ruby-constant">MathUtil</span>.<span class="ruby-identifier">enforce_limit</span>(((<span class="ruby-identifier">v</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">v</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>), <span class="ruby-value">0</span><span class="ruby-value">.1</span>, <span class="ruby-value">1</span>)
787
- 184: <span class="ruby-keyword kw">end</span>
788
- 185:
789
- 186: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-a'</span>, <span class="ruby-value str">'--agent=S'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_agent</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
790
- 187: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Agent is empty&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">empty?</span>
791
- 188: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">agents</span> <span class="ruby-operator">||=</span> []
792
- 189: <span class="ruby-identifier">agent_ary</span> = <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span><span class="ruby-operator">::</span><span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">v</span>)
793
- 190: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">agents</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">agent_ary</span>)
794
- 191: <span class="ruby-keyword kw">end</span>
795
- 192:
796
- 193: <span class="ruby-comment cmt"># The following options are considered &quot;repeatable&quot; so they're stored in </span>
797
- 194: <span class="ruby-comment cmt"># the config file and used as defaults for the next run. </span>
798
- 195: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-d'</span>, <span class="ruby-value str">'--datapath=S'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_datapath</span>, <span class="ruby-node">&quot;.#{File::SEPARATOR}stella&quot;</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
799
- 196: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">data_path</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>
800
- 197: <span class="ruby-keyword kw">end</span>
801
- 198: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">'-f'</span>, <span class="ruby-value str">'--format=S'</span>, <span class="ruby-constant">String</span>, <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">msg</span>(<span class="ruby-identifier">:option_help_format</span>)) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
802
- 199: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">format</span> = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>
803
- 200: <span class="ruby-keyword kw">end</span>
804
- 201:
805
- 202: <span class="ruby-comment cmt"># This is used for printing the help from other parts of this class</span>
806
- 203: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">display</span>
807
- 204: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">LOGGER</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">opts</span>
808
- 205: <span class="ruby-keyword kw">return</span>
809
- 206: <span class="ruby-keyword kw">end</span>
810
- 207:
811
- 208: <span class="ruby-comment cmt"># This applies the configuration above to the arguments provided. </span>
812
- 209: <span class="ruby-comment cmt"># It also removes the discovered options from @stella_arguments</span>
813
- 210: <span class="ruby-comment cmt"># leaving only the unnamed arguments. </span>
814
- 211: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">parse!</span>(<span class="ruby-ivar">@stella_arguments</span>)
815
- 212:
816
- 213: <span class="ruby-comment cmt"># Quiet supercedes verbose</span>
817
- 214: <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">verbose</span> = <span class="ruby-value">0</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@options</span>.<span class="ruby-identifier">quiet</span>
818
- 215:
819
- 216:
820
- 217: <span class="ruby-comment cmt"># This outputs when debugging is enabled. </span>
821
- 218: <span class="ruby-identifier">dump_inputs</span>
822
- 219:
823
- 220:
824
- 221: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">OptionParser</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidOption</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">ex</span>
825
- 222: <span class="ruby-comment cmt"># We want to replace this text so we grab just the name of the argument</span>
826
- 223: <span class="ruby-identifier">badarg</span> = <span class="ruby-identifier">ex</span>.<span class="ruby-identifier">message</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-value str">'invalid option: '</span>, <span class="ruby-value str">''</span>)
827
- 224: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidArgument</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">badarg</span>)
828
- 225: <span class="ruby-keyword kw">end</span>
829
- </pre>
830
- </div>
831
- </div>
832
- </div>
833
-
834
- <div id="method-M000131" class="method-detail">
835
- <a name="M000131"></a>
836
-
837
- <div class="method-heading">
838
- <a href="#M000131" class="method-signature">
839
- <span class="method-name">process_standard_input</span><span class="method-args">()</span>
840
- </a>
841
- </div>
842
-
843
- <div class="method-description">
844
- <p>
845
- Process data sent to STDIN (a pipe for example). We assume each line is a
846
- URI and add it to @arguments.
847
- </p>
848
- <p><a class="source-toggle" href="#"
849
- onclick="toggleCode('M000131-source');return false;">[Source]</a></p>
850
- <div class="method-source-code" id="M000131-source">
851
- <pre>
852
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 230</span>
853
- 230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_standard_input</span>
854
- 231: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stdin</span>.<span class="ruby-identifier">tty?</span> <span class="ruby-comment cmt"># We only want piped data</span>
855
- 232:
856
- 233: <span class="ruby-keyword kw">while</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@stdin</span>.<span class="ruby-identifier">eof?</span> <span class="ruby-keyword kw">do</span>
857
- 234: <span class="ruby-identifier">line</span> = <span class="ruby-ivar">@stdin</span>.<span class="ruby-identifier">readline</span>
858
- 235: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">chomp!</span>
859
- 236: <span class="ruby-ivar">@arguments</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>
860
- 237: <span class="ruby-keyword kw">end</span>
861
- 238:
862
- 239: <span class="ruby-keyword kw">end</span>
863
- </pre>
864
- </div>
865
- </div>
866
- </div>
867
-
868
- <div id="method-M000138" class="method-detail">
869
- <a name="M000138"></a>
870
-
871
- <div class="method-heading">
872
- <a href="#M000138" class="method-signature">
873
- <span class="method-name">process_standard_input</span><span class="method-args">()</span>
874
- </a>
875
- </div>
876
-
877
- <div class="method-description">
878
- <p>
879
- Process data sent to STDIN (a pipe for example). We assume each line is a
880
- URI and add it to @arguments.
881
- </p>
882
- <p><a class="source-toggle" href="#"
883
- onclick="toggleCode('M000138-source');return false;">[Source]</a></p>
884
- <div class="method-source-code" id="M000138-source">
885
- <pre>
886
- <span class="ruby-comment cmt"># File lib/stella/cli.rb, line 230</span>
887
- 230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_standard_input</span>
888
- 231: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@stdin</span>.<span class="ruby-identifier">tty?</span> <span class="ruby-comment cmt"># We only want piped data</span>
889
- 232:
890
- 233: <span class="ruby-keyword kw">while</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@stdin</span>.<span class="ruby-identifier">eof?</span> <span class="ruby-keyword kw">do</span>
891
- 234: <span class="ruby-identifier">line</span> = <span class="ruby-ivar">@stdin</span>.<span class="ruby-identifier">readline</span>
892
- 235: <span class="ruby-identifier">line</span>.<span class="ruby-identifier">chomp!</span>
893
- 236: <span class="ruby-ivar">@arguments</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">line</span>
894
- 237: <span class="ruby-keyword kw">end</span>
895
- 238:
896
- 239: <span class="ruby-keyword kw">end</span>
897
- </pre>
898
- </div>
899
- </div>
900
- </div>
901
-
902
-
903
- </div>
904
-
905
-
906
- </div>
907
-
908
-
909
- <div id="validator-badges">
910
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
911
- </div>
912
-
913
- </body>
914
- </html>