stella 0.5.1 → 0.5.3

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 (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>