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,242 +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::UnknownValue</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::UnknownValue</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/stella/support_rb.html">
59
- lib/stella/support.rb
60
- </a>
61
- <br />
62
- <a href="../../files/lib/stella/support_rb.html">
63
- lib/stella/support.rb
64
- </a>
65
- <br />
66
- </td>
67
- </tr>
68
-
69
- <tr class="top-aligned-row">
70
- <td><strong>Parent:</strong></td>
71
- <td>
72
- RuntimeError
73
- </td>
74
- </tr>
75
- </table>
76
- </div>
77
- <!-- banner header -->
78
-
79
- <div id="bodyContent">
80
-
81
-
82
-
83
- <div id="contextContent">
84
-
85
-
86
-
87
- </div>
88
-
89
- <div id="method-list">
90
- <h3 class="section-bar">Methods</h3>
91
-
92
- <div class="name-list">
93
- <a href="#M000126">message</a>&nbsp;&nbsp;
94
- <a href="#M000124">message</a>&nbsp;&nbsp;
95
- <a href="#M000125">new</a>&nbsp;&nbsp;
96
- <a href="#M000123">new</a>&nbsp;&nbsp;
97
- </div>
98
- </div>
99
-
100
- </div>
101
-
102
-
103
- <!-- if includes -->
104
-
105
- <div id="section">
106
-
107
-
108
-
109
-
110
-
111
- <div id="attribute-list">
112
- <h3 class="section-bar">Attributes</h3>
113
-
114
- <div class="name-list">
115
- <table>
116
- <tr class="top-aligned-row context-row">
117
- <td class="context-item-name">value</td>
118
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
119
- <td class="context-item-desc"></td>
120
- </tr>
121
- <tr class="top-aligned-row context-row">
122
- <td class="context-item-name">value</td>
123
- <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
124
- <td class="context-item-desc"></td>
125
- </tr>
126
- </table>
127
- </div>
128
- </div>
129
-
130
-
131
-
132
- <!-- if method_list -->
133
- <div id="methods">
134
- <h3 class="section-bar">Public Class methods</h3>
135
-
136
- <div id="method-M000125" class="method-detail">
137
- <a name="M000125"></a>
138
-
139
- <div class="method-heading">
140
- <a href="#M000125" class="method-signature">
141
- <span class="method-name">new</span><span class="method-args">(value)</span>
142
- </a>
143
- </div>
144
-
145
- <div class="method-description">
146
- <p><a class="source-toggle" href="#"
147
- onclick="toggleCode('M000125-source');return false;">[Source]</a></p>
148
- <div class="method-source-code" id="M000125-source">
149
- <pre>
150
- <span class="ruby-comment cmt"># File lib/stella/support.rb, line 28</span>
151
- 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">value</span>)
152
- 29: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>
153
- 30: <span class="ruby-keyword kw">end</span>
154
- </pre>
155
- </div>
156
- </div>
157
- </div>
158
-
159
- <div id="method-M000123" class="method-detail">
160
- <a name="M000123"></a>
161
-
162
- <div class="method-heading">
163
- <a href="#M000123" class="method-signature">
164
- <span class="method-name">new</span><span class="method-args">(value)</span>
165
- </a>
166
- </div>
167
-
168
- <div class="method-description">
169
- <p><a class="source-toggle" href="#"
170
- onclick="toggleCode('M000123-source');return false;">[Source]</a></p>
171
- <div class="method-source-code" id="M000123-source">
172
- <pre>
173
- <span class="ruby-comment cmt"># File lib/stella/support.rb, line 28</span>
174
- 28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">value</span>)
175
- 29: <span class="ruby-ivar">@value</span> = <span class="ruby-identifier">value</span>.<span class="ruby-identifier">to_s</span>
176
- 30: <span class="ruby-keyword kw">end</span>
177
- </pre>
178
- </div>
179
- </div>
180
- </div>
181
-
182
- <h3 class="section-bar">Public Instance methods</h3>
183
-
184
- <div id="method-M000126" class="method-detail">
185
- <a name="M000126"></a>
186
-
187
- <div class="method-heading">
188
- <a href="#M000126" class="method-signature">
189
- <span class="method-name">message</span><span class="method-args">()</span>
190
- </a>
191
- </div>
192
-
193
- <div class="method-description">
194
- <p><a class="source-toggle" href="#"
195
- onclick="toggleCode('M000126-source');return false;">[Source]</a></p>
196
- <div class="method-source-code" id="M000126-source">
197
- <pre>
198
- <span class="ruby-comment cmt"># File lib/stella/support.rb, line 31</span>
199
- 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message</span>
200
- 32: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">err</span>(<span class="ruby-identifier">:error_unknown_value</span>, <span class="ruby-ivar">@value</span>)
201
- 33: <span class="ruby-keyword kw">end</span>
202
- </pre>
203
- </div>
204
- </div>
205
- </div>
206
-
207
- <div id="method-M000124" class="method-detail">
208
- <a name="M000124"></a>
209
-
210
- <div class="method-heading">
211
- <a href="#M000124" class="method-signature">
212
- <span class="method-name">message</span><span class="method-args">()</span>
213
- </a>
214
- </div>
215
-
216
- <div class="method-description">
217
- <p><a class="source-toggle" href="#"
218
- onclick="toggleCode('M000124-source');return false;">[Source]</a></p>
219
- <div class="method-source-code" id="M000124-source">
220
- <pre>
221
- <span class="ruby-comment cmt"># File lib/stella/support.rb, line 31</span>
222
- 31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">message</span>
223
- 32: <span class="ruby-constant">Stella</span><span class="ruby-operator">::</span><span class="ruby-constant">TEXT</span>.<span class="ruby-identifier">err</span>(<span class="ruby-identifier">:error_unknown_value</span>, <span class="ruby-ivar">@value</span>)
224
- 33: <span class="ruby-keyword kw">end</span>
225
- </pre>
226
- </div>
227
- </div>
228
- </div>
229
-
230
-
231
- </div>
232
-
233
-
234
- </div>
235
-
236
-
237
- <div id="validator-badges">
238
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
239
- </div>
240
-
241
- </body>
242
- </html>
@@ -1,115 +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::UnsupportedLanguage</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::UnsupportedLanguage</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/stella/support_rb.html">
59
- lib/stella/support.rb
60
- </a>
61
- <br />
62
- <a href="../../files/lib/stella/support_rb.html">
63
- lib/stella/support.rb
64
- </a>
65
- <br />
66
- </td>
67
- </tr>
68
-
69
- <tr class="top-aligned-row">
70
- <td><strong>Parent:</strong></td>
71
- <td>
72
- RuntimeError
73
- </td>
74
- </tr>
75
- </table>
76
- </div>
77
- <!-- banner header -->
78
-
79
- <div id="bodyContent">
80
-
81
-
82
-
83
- <div id="contextContent">
84
-
85
-
86
-
87
- </div>
88
-
89
-
90
- </div>
91
-
92
-
93
- <!-- if includes -->
94
-
95
- <div id="section">
96
-
97
-
98
-
99
-
100
-
101
-
102
-
103
-
104
- <!-- if method_list -->
105
-
106
-
107
- </div>
108
-
109
-
110
- <div id="validator-badges">
111
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
112
- </div>
113
-
114
- </body>
115
- </html>
@@ -1,348 +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::Util</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::Util</td>
54
- </tr>
55
- <tr class="top-aligned-row">
56
- <td><strong>In:</strong></td>
57
- <td>
58
- <a href="../../files/lib/stella/support_rb.html">
59
- lib/stella/support.rb
60
- </a>
61
- <br />
62
- <a href="../../files/lib/stella/support_rb.html">
63
- lib/stella/support.rb
64
- </a>
65
- <br />
66
- </td>
67
- </tr>
68
-
69
- <tr class="top-aligned-row">
70
- <td><strong>Parent:</strong></td>
71
- <td>
72
- Object
73
- </td>
74
- </tr>
75
- </table>
76
- </div>
77
- <!-- banner header -->
78
-
79
- <div id="bodyContent">
80
-
81
-
82
-
83
- <div id="contextContent">
84
-
85
-
86
-
87
- </div>
88
-
89
- <div id="method-list">
90
- <h3 class="section-bar">Methods</h3>
91
-
92
- <div class="name-list">
93
- <a href="#M000231">expand_str</a>&nbsp;&nbsp;
94
- <a href="#M000229">expand_str</a>&nbsp;&nbsp;
95
- <a href="#M000230">process_useragents</a>&nbsp;&nbsp;
96
- <a href="#M000228">process_useragents</a>&nbsp;&nbsp;
97
- </div>
98
- </div>
99
-
100
- </div>
101
-
102
-
103
- <!-- if includes -->
104
-
105
- <div id="section">
106
-
107
-
108
-
109
-
110
-
111
-
112
-
113
-
114
- <!-- if method_list -->
115
- <div id="methods">
116
- <h3 class="section-bar">Public Class methods</h3>
117
-
118
- <div id="method-M000231" class="method-detail">
119
- <a name="M000231"></a>
120
-
121
- <div class="method-heading">
122
- <a href="#M000231" class="method-signature">
123
- <span class="method-name">expand_str</span><span class="method-args">(str)</span>
124
- </a>
125
- </div>
126
-
127
- <div class="method-description">
128
- <p>
129
- <a href="Util.html#M000229">expand_str</a>
130
- </p>
131
- <p>
132
- Turns a string like ff-4-freebsd into
133
- [&quot;ff&quot;,&quot;4&quot;,&quot;freebsd&quot;] We use this for
134
- command-line values liek agent and rampup
135
- </p>
136
- <p><a class="source-toggle" href="#"
137
- onclick="toggleCode('M000231-source');return false;">[Source]</a></p>
138
- <div class="method-source-code" id="M000231-source">
139
- <pre>
140
- <span class="ruby-comment cmt"># File lib/stella/support.rb, line 100</span>
141
- 100: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">str</span>)
142
- 101: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\s*[,\-]\s*/</span>) <span class="ruby-comment cmt"># remove extra spaces at the same time. </span>
143
- 102: <span class="ruby-keyword kw">end</span>
144
- </pre>
145
- </div>
146
- </div>
147
- </div>
148
-
149
- <div id="method-M000229" class="method-detail">
150
- <a name="M000229"></a>
151
-
152
- <div class="method-heading">
153
- <a href="#M000229" class="method-signature">
154
- <span class="method-name">expand_str</span><span class="method-args">(str)</span>
155
- </a>
156
- </div>
157
-
158
- <div class="method-description">
159
- <p>
160
- <a href="Util.html#M000229">expand_str</a>
161
- </p>
162
- <p>
163
- Turns a string like ff-4-freebsd into
164
- [&quot;ff&quot;,&quot;4&quot;,&quot;freebsd&quot;] We use this for
165
- command-line values liek agent and rampup
166
- </p>
167
- <p><a class="source-toggle" href="#"
168
- onclick="toggleCode('M000229-source');return false;">[Source]</a></p>
169
- <div class="method-source-code" id="M000229-source">
170
- <pre>
171
- <span class="ruby-comment cmt"># File lib/stella/support.rb, line 100</span>
172
- 100: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">expand_str</span>(<span class="ruby-identifier">str</span>)
173
- 101: <span class="ruby-identifier">str</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\s*[,\-]\s*/</span>) <span class="ruby-comment cmt"># remove extra spaces at the same time. </span>
174
- 102: <span class="ruby-keyword kw">end</span>
175
- </pre>
176
- </div>
177
- </div>
178
- </div>
179
-
180
- <div id="method-M000230" class="method-detail">
181
- <a name="M000230"></a>
182
-
183
- <div class="method-heading">
184
- <a href="#M000230" class="method-signature">
185
- <span class="method-name">process_useragents</span><span class="method-args">(ua_strs=[])</span>
186
- </a>
187
- </div>
188
-
189
- <div class="method-description">
190
- <p>
191
- <a href="Util.html#M000228">process_useragents</a>
192
- </p>
193
- <p>
194
- We read the useragents.txt file into a hash index which useful for refering
195
- to specific useragents on the command-line and other places.
196
- </p>
197
- <p>
198
- Examples:
199
- </p>
200
- <pre>
201
- --agent=ie-5
202
- --agent=ff-2.0.0.2-linux
203
- --agent=chrome-windows
204
- --agent=safari-3.0-osx
205
- </pre>
206
- <p><a class="source-toggle" href="#"
207
- onclick="toggleCode('M000230-source');return false;">[Source]</a></p>
208
- <div class="method-source-code" id="M000230-source">
209
- <pre>
210
- <span class="ruby-comment cmt"># File lib/stella/support.rb, line 53</span>
211
- 53: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">process_useragents</span>(<span class="ruby-identifier">ua_strs</span>=[])
212
- 54: <span class="ruby-identifier">agents_index</span> = {}
213
- 55: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">agents_index</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ua_strs</span>.<span class="ruby-identifier">empty?</span>
214
- 56:
215
- 57: <span class="ruby-identifier">ua_strs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ua_str</span><span class="ruby-operator">|</span>
216
- 58: <span class="ruby-identifier">ua_str</span>.<span class="ruby-identifier">chomp!</span> <span class="ruby-comment cmt"># remove trailing line separator</span>
217
- 59:
218
- 60: <span class="ruby-identifier">ua</span> = <span class="ruby-constant">UserAgent</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">ua_str</span>)
219
- 61:
220
- 62: <span class="ruby-comment cmt"># Standardize the index values</span>
221
- 63: <span class="ruby-comment cmt"># i.e. firefox-3-windows</span>
222
- 64: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">ua</span>.<span class="ruby-identifier">browser</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">' '</span>, <span class="ruby-value str">''</span>)
223
- 65: <span class="ruby-identifier">version</span> = <span class="ruby-identifier">ua</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">to_i</span>
224
- 66: <span class="ruby-identifier">os</span> = <span class="ruby-identifier">ua</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">' '</span>, <span class="ruby-value str">''</span>)
225
- 67:
226
- 68: <span class="ruby-comment cmt"># Non-windows operating systems have the OS string inside of &quot;os&quot;</span>
227
- 69: <span class="ruby-comment cmt"># rather than &quot;platform&quot;. We look there for the value and then</span>
228
- 70: <span class="ruby-comment cmt"># standardize the values. </span>
229
- 71: <span class="ruby-comment cmt"># i.e. firefox-3-osx</span>
230
- 72: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">os</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'windows'</span>
231
- 73: <span class="ruby-identifier">os</span> = <span class="ruby-identifier">ua</span>.<span class="ruby-identifier">os</span>.<span class="ruby-identifier">downcase</span>
232
- 74: <span class="ruby-identifier">os</span> = <span class="ruby-value str">'linux'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">os</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/^linux/</span>)
233
- 75: <span class="ruby-identifier">os</span> = <span class="ruby-value str">'osx'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">os</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/mac os x/</span>)
234
- 76: <span class="ruby-identifier">os</span> = <span class="ruby-value str">'bsd'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">os</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/bsd/</span>)
235
- 77: <span class="ruby-keyword kw">end</span>
236
- 78:
237
- 79: <span class="ruby-comment cmt"># Make sure all arrays exist before we populate them</span>
238
- 80: <span class="ruby-identifier">agents_index</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||=</span> []
239
- 81: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{version}&quot;</span>] <span class="ruby-operator">||=</span> []
240
- 82: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{version}-#{os}&quot;</span>] <span class="ruby-operator">||=</span> []
241
- 83: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{os}&quot;</span>] <span class="ruby-operator">||=</span> [] <span class="ruby-comment cmt"># We use this one for failover</span>
242
- 84:
243
- 85: <span class="ruby-comment cmt"># Populate each list. </span>
244
- 86: <span class="ruby-identifier">agents_index</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ua</span>
245
- 87: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{version}&quot;</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ua</span>
246
- 88: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{version}-#{os}&quot;</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ua</span>
247
- 89: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{os}&quot;</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ua</span>
248
- 90:
249
- 91: <span class="ruby-keyword kw">end</span>
250
- 92:
251
- 93: <span class="ruby-identifier">agents_index</span>
252
- 94: <span class="ruby-keyword kw">end</span>
253
- </pre>
254
- </div>
255
- </div>
256
- </div>
257
-
258
- <div id="method-M000228" class="method-detail">
259
- <a name="M000228"></a>
260
-
261
- <div class="method-heading">
262
- <a href="#M000228" class="method-signature">
263
- <span class="method-name">process_useragents</span><span class="method-args">(ua_strs=[])</span>
264
- </a>
265
- </div>
266
-
267
- <div class="method-description">
268
- <p>
269
- <a href="Util.html#M000228">process_useragents</a>
270
- </p>
271
- <p>
272
- We read the useragents.txt file into a hash index which useful for refering
273
- to specific useragents on the command-line and other places.
274
- </p>
275
- <p>
276
- Examples:
277
- </p>
278
- <pre>
279
- --agent=ie-5
280
- --agent=ff-2.0.0.2-linux
281
- --agent=chrome-windows
282
- --agent=safari-3.0-osx
283
- </pre>
284
- <p><a class="source-toggle" href="#"
285
- onclick="toggleCode('M000228-source');return false;">[Source]</a></p>
286
- <div class="method-source-code" id="M000228-source">
287
- <pre>
288
- <span class="ruby-comment cmt"># File lib/stella/support.rb, line 53</span>
289
- 53: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">process_useragents</span>(<span class="ruby-identifier">ua_strs</span>=[])
290
- 54: <span class="ruby-identifier">agents_index</span> = {}
291
- 55: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">agents_index</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ua_strs</span>.<span class="ruby-identifier">empty?</span>
292
- 56:
293
- 57: <span class="ruby-identifier">ua_strs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">ua_str</span><span class="ruby-operator">|</span>
294
- 58: <span class="ruby-identifier">ua_str</span>.<span class="ruby-identifier">chomp!</span> <span class="ruby-comment cmt"># remove trailing line separator</span>
295
- 59:
296
- 60: <span class="ruby-identifier">ua</span> = <span class="ruby-constant">UserAgent</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">ua_str</span>)
297
- 61:
298
- 62: <span class="ruby-comment cmt"># Standardize the index values</span>
299
- 63: <span class="ruby-comment cmt"># i.e. firefox-3-windows</span>
300
- 64: <span class="ruby-identifier">name</span> = <span class="ruby-identifier">ua</span>.<span class="ruby-identifier">browser</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">' '</span>, <span class="ruby-value str">''</span>)
301
- 65: <span class="ruby-identifier">version</span> = <span class="ruby-identifier">ua</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">to_i</span>
302
- 66: <span class="ruby-identifier">os</span> = <span class="ruby-identifier">ua</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">tr</span>(<span class="ruby-value str">' '</span>, <span class="ruby-value str">''</span>)
303
- 67:
304
- 68: <span class="ruby-comment cmt"># Non-windows operating systems have the OS string inside of &quot;os&quot;</span>
305
- 69: <span class="ruby-comment cmt"># rather than &quot;platform&quot;. We look there for the value and then</span>
306
- 70: <span class="ruby-comment cmt"># standardize the values. </span>
307
- 71: <span class="ruby-comment cmt"># i.e. firefox-3-osx</span>
308
- 72: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">os</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'windows'</span>
309
- 73: <span class="ruby-identifier">os</span> = <span class="ruby-identifier">ua</span>.<span class="ruby-identifier">os</span>.<span class="ruby-identifier">downcase</span>
310
- 74: <span class="ruby-identifier">os</span> = <span class="ruby-value str">'linux'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">os</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/^linux/</span>)
311
- 75: <span class="ruby-identifier">os</span> = <span class="ruby-value str">'osx'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">os</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/mac os x/</span>)
312
- 76: <span class="ruby-identifier">os</span> = <span class="ruby-value str">'bsd'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">os</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp re">/bsd/</span>)
313
- 77: <span class="ruby-keyword kw">end</span>
314
- 78:
315
- 79: <span class="ruby-comment cmt"># Make sure all arrays exist before we populate them</span>
316
- 80: <span class="ruby-identifier">agents_index</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">||=</span> []
317
- 81: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{version}&quot;</span>] <span class="ruby-operator">||=</span> []
318
- 82: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{version}-#{os}&quot;</span>] <span class="ruby-operator">||=</span> []
319
- 83: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{os}&quot;</span>] <span class="ruby-operator">||=</span> [] <span class="ruby-comment cmt"># We use this one for failover</span>
320
- 84:
321
- 85: <span class="ruby-comment cmt"># Populate each list. </span>
322
- 86: <span class="ruby-identifier">agents_index</span>[<span class="ruby-identifier">name</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ua</span>
323
- 87: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{version}&quot;</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ua</span>
324
- 88: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{version}-#{os}&quot;</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ua</span>
325
- 89: <span class="ruby-identifier">agents_index</span>[<span class="ruby-node">&quot;#{name}-#{os}&quot;</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">ua</span>
326
- 90:
327
- 91: <span class="ruby-keyword kw">end</span>
328
- 92:
329
- 93: <span class="ruby-identifier">agents_index</span>
330
- 94: <span class="ruby-keyword kw">end</span>
331
- </pre>
332
- </div>
333
- </div>
334
- </div>
335
-
336
-
337
- </div>
338
-
339
-
340
- </div>
341
-
342
-
343
- <div id="validator-badges">
344
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
345
- </div>
346
-
347
- </body>
348
- </html>