bauxite 0.6.18 → 0.6.19
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.
- checksums.yaml +4 -4
- data/LICENSE +21 -21
- data/README.md +293 -293
- data/Rakefile +128 -128
- data/bin/bauxite +27 -27
- data/doc/Bauxite.html +6 -9
- data/doc/Bauxite/Action.html +298 -315
- data/doc/Bauxite/ActionModule.html +23 -26
- data/doc/Bauxite/Application.html +36 -38
- data/doc/Bauxite/Context.html +303 -303
- data/doc/Bauxite/Errors.html +6 -9
- data/doc/Bauxite/Errors/AssertionError.html +6 -9
- data/doc/Bauxite/Errors/FileNotFoundError.html +6 -9
- data/doc/Bauxite/Errors/FormatError.html +6 -9
- data/doc/Bauxite/Loggers.html +6 -9
- data/doc/Bauxite/Loggers/CompositeLogger.html +29 -32
- data/doc/Bauxite/Loggers/EchoLogger.html +10 -13
- data/doc/Bauxite/Loggers/FileLogger.html +25 -28
- data/doc/Bauxite/Loggers/HtmlLogger.html +99 -102
- data/doc/Bauxite/Loggers/NullLogger.html +16 -19
- data/doc/Bauxite/Loggers/ReportLogger.html +43 -46
- data/doc/Bauxite/Loggers/TerminalLogger.html +76 -79
- data/doc/Bauxite/Loggers/XtermLogger.html +28 -31
- data/doc/Bauxite/Parser.html +87 -89
- data/doc/Bauxite/ParserModule.html +19 -22
- data/doc/Bauxite/Selector.html +99 -105
- data/doc/Bauxite/SelectorModule.html +27 -30
- data/doc/README_md.html +117 -103
- data/doc/created.rid +58 -58
- data/doc/fonts.css +167 -167
- data/doc/fonts/Lato-Light.ttf +0 -0
- data/doc/fonts/Lato-LightItalic.ttf +0 -0
- data/doc/fonts/Lato-Regular.ttf +0 -0
- data/doc/fonts/Lato-RegularItalic.ttf +0 -0
- data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/doc/images/add.png +0 -0
- data/doc/images/arrow_up.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +117 -103
- data/doc/js/darkfish.js +32 -11
- data/doc/js/jquery.js +0 -0
- data/doc/js/navigation.js +0 -0
- data/doc/js/search.js +0 -0
- data/doc/js/search_index.js +1 -1
- data/doc/js/searcher.js +0 -0
- data/doc/rdoc.css +580 -580
- data/doc/table_of_contents.html +69 -72
- data/lib/bauxite.rb +28 -28
- data/lib/bauxite/actions/alias.rb +51 -51
- data/lib/bauxite/actions/assert.rb +49 -49
- data/lib/bauxite/actions/asserth.rb +60 -60
- data/lib/bauxite/actions/assertm.rb +49 -49
- data/lib/bauxite/actions/assertv.rb +40 -40
- data/lib/bauxite/actions/assertw.rb +47 -47
- data/lib/bauxite/actions/break.rb +39 -39
- data/lib/bauxite/actions/capture.rb +61 -61
- data/lib/bauxite/actions/click.rb +36 -36
- data/lib/bauxite/actions/debug.rb +103 -103
- data/lib/bauxite/actions/doif.rb +43 -43
- data/lib/bauxite/actions/dounless.rb +43 -43
- data/lib/bauxite/actions/echo.rb +36 -36
- data/lib/bauxite/actions/exec.rb +46 -46
- data/lib/bauxite/actions/exit.rb +35 -35
- data/lib/bauxite/actions/failif.rb +52 -52
- data/lib/bauxite/actions/js.rb +41 -41
- data/lib/bauxite/actions/load.rb +49 -49
- data/lib/bauxite/actions/open.rb +35 -35
- data/lib/bauxite/actions/params.rb +40 -40
- data/lib/bauxite/actions/replace.rb +37 -37
- data/lib/bauxite/actions/reset.rb +38 -38
- data/lib/bauxite/actions/return.rb +68 -68
- data/lib/bauxite/actions/ruby.rb +58 -58
- data/lib/bauxite/actions/select.rb +48 -48
- data/lib/bauxite/actions/set.rb +39 -39
- data/lib/bauxite/actions/setif.rb +44 -44
- data/lib/bauxite/actions/source.rb +44 -44
- data/lib/bauxite/actions/store.rb +38 -38
- data/lib/bauxite/actions/submit.rb +37 -37
- data/lib/bauxite/actions/test.rb +67 -67
- data/lib/bauxite/actions/tryload.rb +71 -71
- data/lib/bauxite/actions/wait.rb +38 -38
- data/lib/bauxite/actions/write.rb +44 -44
- data/lib/bauxite/application.rb +349 -349
- data/lib/bauxite/core/action.rb +199 -199
- data/lib/bauxite/core/context.rb +791 -791
- data/lib/bauxite/core/errors.rb +41 -41
- data/lib/bauxite/core/logger.rb +169 -169
- data/lib/bauxite/core/parser.rb +85 -85
- data/lib/bauxite/core/selector.rb +152 -152
- data/lib/bauxite/loggers/composite.rb +91 -91
- data/lib/bauxite/loggers/echo.rb +36 -36
- data/lib/bauxite/loggers/file.rb +68 -68
- data/lib/bauxite/loggers/html.rb +154 -154
- data/lib/bauxite/loggers/terminal.rb +134 -134
- data/lib/bauxite/loggers/xterm.rb +101 -101
- data/lib/bauxite/parsers/csv.rb +43 -43
- data/lib/bauxite/parsers/default.rb +42 -42
- data/lib/bauxite/parsers/html.rb +79 -79
- data/lib/bauxite/selectors/attr.rb +39 -39
- data/lib/bauxite/selectors/frame.rb +60 -60
- data/lib/bauxite/selectors/json.rb +88 -88
- data/lib/bauxite/selectors/sid.rb +38 -38
- data/lib/bauxite/selectors/smart.rb +80 -80
- data/lib/bauxite/selectors/window.rb +77 -77
- data/test/alert.bxt +3 -3
- data/test/alert/page.html +4 -4
- data/test/alias.bxt +9 -9
- data/test/asserth.bxt +2 -2
- data/test/assertv.bxt +1 -1
- data/test/assertw.bxt +7 -7
- data/test/broken.bxt.manual +0 -0
- data/test/bug_load_path.bxt.manual +0 -0
- data/test/bug_load_path/broken.bxt.manual +0 -0
- data/test/bug_load_path/test.bxt +0 -0
- data/test/capture.bxt.manual +20 -20
- data/test/capture/my_test.bxt +1 -1
- data/test/capture/page.html +6 -6
- data/test/capture_on_error.bxt.manual +3 -3
- data/test/capture_on_error/my_test.bxt +1 -1
- data/test/capture_on_error/page.html +2 -2
- data/test/debug.bxt.manual +0 -0
- data/test/default_selector.bxt.manual +7 -7
- data/test/default_selector/page.html +10 -10
- data/test/default_selector_var.bxt +1 -1
- data/test/delay.bxt +2 -2
- data/test/delay/page.html +4 -4
- data/test/doif.bxt +6 -6
- data/test/dounless.bxt +6 -6
- data/test/exec.bxt +6 -6
- data/test/exit.bxt +3 -3
- data/test/exit/test.bxt +3 -3
- data/test/extension.bxt.manual +4 -4
- data/test/extension/custom.rb +12 -12
- data/test/extension/page.html +4 -4
- data/test/failif.bxt +7 -7
- data/test/failif/page.html +5 -5
- data/test/format.bxt +17 -17
- data/test/format/page.html +6 -6
- data/test/frame.bxt +6 -6
- data/test/frame/child_frame.html +6 -6
- data/test/frame/grandchild_frame.html +4 -4
- data/test/frame/page.html +4 -4
- data/test/js.bxt +4 -4
- data/test/json.bxt +19 -19
- data/test/json/array.json +3 -3
- data/test/json/object.json +13 -13
- data/test/load.bxt +18 -18
- data/test/load/child.bxt +12 -12
- data/test/parsers.bxt +1 -1
- data/test/parsers.csv +7 -7
- data/test/parsers.html +32 -32
- data/test/parsers/page.html +6 -6
- data/test/return.bxt +1 -1
- data/test/return/f1.bxt +1 -1
- data/test/return/f2.bxt +1 -1
- data/test/return/f3.bxt +1 -1
- data/test/return/f4.bxt +2 -2
- data/test/ruby.bxt +1 -1
- data/test/ruby/custom.rb +5 -5
- data/test/select.bxt +9 -9
- data/test/select/page.html +8 -8
- data/test/selectors.bxt +7 -7
- data/test/selectors/page.html +6 -6
- data/test/set_builtin.bxt +5 -0
- data/test/set_builtin/page.html +5 -0
- data/test/setif.bxt +3 -3
- data/test/smart_selector.bxt +17 -17
- data/test/smart_selector/page.html +17 -17
- data/test/stdin.bxt +0 -0
- data/test/submit.bxt +4 -4
- data/test/submit/page.html +6 -6
- data/test/submit/page2.html +4 -4
- data/test/test.bxt.manual +6 -6
- data/test/test/test1.bxt +2 -2
- data/test/test/test2.bxt +3 -3
- data/test/test/test3.bxt +2 -2
- data/test/test/test4.bxt +1 -1
- data/test/test/test5.bxt +1 -1
- data/test/window.bxt +14 -14
- data/test/window/page.html +5 -5
- data/test/window/popup.html +4 -4
- metadata +5 -3
@@ -6,20 +6,17 @@
|
|
6
6
|
|
7
7
|
<title>class Bauxite::Loggers::XtermLogger - RDoc Documentation</title>
|
8
8
|
|
9
|
-
<link href="../../fonts.css" rel="stylesheet">
|
10
|
-
<link href="../../rdoc.css" rel="stylesheet">
|
11
|
-
|
12
9
|
<script type="text/javascript">
|
13
10
|
var rdoc_rel_prefix = "../../";
|
14
11
|
</script>
|
15
12
|
|
16
13
|
<script src="../../js/jquery.js"></script>
|
17
|
-
<script src="../../js/navigation.js"></script>
|
18
|
-
<script src="../../js/search_index.js"></script>
|
19
|
-
<script src="../../js/search.js"></script>
|
20
|
-
<script src="../../js/searcher.js"></script>
|
21
14
|
<script src="../../js/darkfish.js"></script>
|
22
15
|
|
16
|
+
<link href="../../css/fonts.css" rel="stylesheet">
|
17
|
+
<link href="../../css/rdoc.css" rel="stylesheet">
|
18
|
+
|
19
|
+
|
23
20
|
|
24
21
|
<body id="top" role="document" class="class">
|
25
22
|
<nav role="navigation">
|
@@ -154,13 +151,13 @@ instead.</p>
|
|
154
151
|
|
155
152
|
<div class="method-source-code" id="_fmt-source">
|
156
153
|
<pre><span class="ruby-comment"># File lib/bauxite/loggers/xterm.rb, line 60</span>
|
157
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_fmt</span>(<span class="ruby-identifier">color</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">size</span> = <span class="ruby-value">0</span>)
|
158
|
-
<span class="ruby-identifier">text</span> = <span class="ruby-keyword">super</span>(<span class="ruby-identifier">color</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">size</span>)
|
159
|
-
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:nc</span>] <span class="ruby-keyword">or</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:color</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'no'</span>
|
160
|
-
<span class="ruby-identifier">text</span>
|
161
|
-
<span class="ruby-keyword">else</span>
|
162
|
-
<span class="ruby-node">"\033[#{COLORS[color]}m#{text}\033[0m"</span>
|
163
|
-
<span class="ruby-keyword">end</span>
|
154
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_fmt</span>(<span class="ruby-identifier">color</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">size</span> = <span class="ruby-value">0</span>)
|
155
|
+
<span class="ruby-identifier">text</span> = <span class="ruby-keyword">super</span>(<span class="ruby-identifier">color</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">size</span>)
|
156
|
+
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:nc</span>] <span class="ruby-keyword">or</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:color</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'no'</span>
|
157
|
+
<span class="ruby-identifier">text</span>
|
158
|
+
<span class="ruby-keyword">else</span>
|
159
|
+
<span class="ruby-node">"\033[#{COLORS[color]}m#{text}\033[0m"</span>
|
160
|
+
<span class="ruby-keyword">end</span>
|
164
161
|
<span class="ruby-keyword">end</span></pre>
|
165
162
|
</div>
|
166
163
|
|
@@ -192,9 +189,9 @@ instead.</p>
|
|
192
189
|
|
193
190
|
<div class="method-source-code" id="_restore_cursor-source">
|
194
191
|
<pre><span class="ruby-comment"># File lib/bauxite/loggers/xterm.rb, line 74</span>
|
195
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_restore_cursor</span>
|
196
|
-
<span class="ruby-identifier">print</span> <span class="ruby-string">"\033[u"</span>
|
197
|
-
<span class="ruby-keyword">true</span>
|
192
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_restore_cursor</span>
|
193
|
+
<span class="ruby-identifier">print</span> <span class="ruby-string">"\033[u"</span>
|
194
|
+
<span class="ruby-keyword">true</span>
|
198
195
|
<span class="ruby-keyword">end</span></pre>
|
199
196
|
</div>
|
200
197
|
|
@@ -226,9 +223,9 @@ instead.</p>
|
|
226
223
|
|
227
224
|
<div class="method-source-code" id="_save_cursor-source">
|
228
225
|
<pre><span class="ruby-comment"># File lib/bauxite/loggers/xterm.rb, line 69</span>
|
229
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_save_cursor</span>
|
230
|
-
<span class="ruby-identifier">print</span> <span class="ruby-string">"\033[s"</span>
|
231
|
-
<span class="ruby-keyword">true</span>
|
226
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_save_cursor</span>
|
227
|
+
<span class="ruby-identifier">print</span> <span class="ruby-string">"\033[s"</span>
|
228
|
+
<span class="ruby-keyword">true</span>
|
232
229
|
<span class="ruby-keyword">end</span></pre>
|
233
230
|
</div>
|
234
231
|
|
@@ -265,15 +262,15 @@ instead.</p>
|
|
265
262
|
|
266
263
|
<div class="method-source-code" id="_screen_width-source">
|
267
264
|
<pre><span class="ruby-comment"># File lib/bauxite/loggers/xterm.rb, line 84</span>
|
268
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_screen_width</span>
|
269
|
-
<span class="ruby-keyword">if</span> <span class="ruby-constant">RbConfig</span><span class="ruby-operator">::</span><span class="ruby-constant">CONFIG</span>[<span class="ruby-string">'host_os'</span>] <span class="ruby-operator">=~</span>
|
270
|
-
<span class="ruby-regexp">/(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i</span>
|
271
|
-
(<span class="ruby-identifier">_dynamic_width_stty</span>.<span class="ruby-identifier">nonzero?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">_dynamic_width_tput</span>)
|
272
|
-
<span class="ruby-keyword">else</span>
|
273
|
-
<span class="ruby-keyword">super</span>
|
274
|
-
<span class="ruby-keyword">end</span>
|
275
|
-
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
276
|
-
<span class="ruby-keyword">super</span>
|
265
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">_screen_width</span>
|
266
|
+
<span class="ruby-keyword">if</span> <span class="ruby-constant">RbConfig</span><span class="ruby-operator">::</span><span class="ruby-constant">CONFIG</span>[<span class="ruby-string">'host_os'</span>] <span class="ruby-operator">=~</span>
|
267
|
+
<span class="ruby-regexp">/(aix|darwin|linux|(net|free|open)bsd|cygwin|solaris|irix|hpux)/i</span>
|
268
|
+
(<span class="ruby-identifier">_dynamic_width_stty</span>.<span class="ruby-identifier">nonzero?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">_dynamic_width_tput</span>)
|
269
|
+
<span class="ruby-keyword">else</span>
|
270
|
+
<span class="ruby-keyword">super</span>
|
271
|
+
<span class="ruby-keyword">end</span>
|
272
|
+
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
273
|
+
<span class="ruby-keyword">super</span>
|
277
274
|
<span class="ruby-keyword">end</span></pre>
|
278
275
|
</div>
|
279
276
|
|
@@ -293,7 +290,7 @@ instead.</p>
|
|
293
290
|
|
294
291
|
<footer id="validator-badges" role="contentinfo">
|
295
292
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
296
|
-
<p>Generated by <a href="http://
|
297
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
293
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
294
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
298
295
|
</footer>
|
299
296
|
|
data/doc/Bauxite/Parser.html
CHANGED
@@ -6,20 +6,17 @@
|
|
6
6
|
|
7
7
|
<title>class Bauxite::Parser - RDoc Documentation</title>
|
8
8
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
11
|
-
|
12
9
|
<script type="text/javascript">
|
13
10
|
var rdoc_rel_prefix = "../";
|
14
11
|
</script>
|
15
12
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
17
|
-
<script src="../js/navigation.js"></script>
|
18
|
-
<script src="../js/search_index.js"></script>
|
19
|
-
<script src="../js/search.js"></script>
|
20
|
-
<script src="../js/searcher.js"></script>
|
21
14
|
<script src="../js/darkfish.js"></script>
|
22
15
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
18
|
+
|
19
|
+
|
23
20
|
|
24
21
|
<body id="top" role="document" class="class">
|
25
22
|
<nav role="navigation">
|
@@ -131,12 +128,13 @@ parser can't handle the file.</p>
|
|
131
128
|
|
132
129
|
<p>Each element in the output array must contain the following fields:</p>
|
133
130
|
|
134
|
-
<pre>[
|
135
|
-
action
|
136
|
-
args
|
137
|
-
text
|
138
|
-
line
|
139
|
-
]
|
131
|
+
<pre class="ruby">[
|
132
|
+
<span class="ruby-identifier">action</span>, <span class="ruby-comment"># action name</span>
|
133
|
+
<span class="ruby-identifier">args</span>, <span class="ruby-comment"># args array</span>
|
134
|
+
<span class="ruby-identifier">text</span>, <span class="ruby-comment"># raw action text (before parsing), or nil</span>
|
135
|
+
<span class="ruby-identifier">line</span> <span class="ruby-comment"># line in the file that defined the action</span>
|
136
|
+
]
|
137
|
+
</pre>
|
140
138
|
|
141
139
|
<p>For example:</p>
|
142
140
|
|
@@ -219,21 +217,21 @@ parser can't handle the file.</p>
|
|
219
217
|
|
220
218
|
<div class="method-source-code" id="csv-source">
|
221
219
|
<pre><span class="ruby-comment"># File lib/bauxite/parsers/csv.rb, line 27</span>
|
222
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">csv</span>(<span class="ruby-identifier">file</span>)
|
223
|
-
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">end_with?</span> <span class="ruby-string">'.csv'</span>
|
224
|
-
|
225
|
-
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
226
|
-
<span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">each_with_index</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">text</span>,<span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
227
|
-
<span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/\r?\n$/</span>, <span class="ruby-string">''</span>)
|
228
|
-
<span class="ruby-keyword">next</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^\s*(#|$)/</span>
|
229
|
-
<span class="ruby-keyword">begin</span>
|
230
|
-
<span class="ruby-identifier">data</span> = <span class="ruby-constant">CSV</span>.<span class="ruby-identifier">parse_line</span>(<span class="ruby-identifier">text</span>)
|
231
|
-
[ <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">strip</span> }, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">line</span> ]
|
232
|
-
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
233
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-node">"#{file} (line #{line+1}): #{e.message}"</span>
|
234
|
-
<span class="ruby-keyword">end</span>
|
235
|
-
<span class="ruby-keyword">end</span>
|
236
|
-
<span class="ruby-keyword">end</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> }
|
220
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">csv</span>(<span class="ruby-identifier">file</span>)
|
221
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">end_with?</span> <span class="ruby-string">'.csv'</span>
|
222
|
+
|
223
|
+
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
224
|
+
<span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">each_with_index</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">text</span>,<span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
225
|
+
<span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/\r?\n$/</span>, <span class="ruby-string">''</span>)
|
226
|
+
<span class="ruby-keyword">next</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^\s*(#|$)/</span>
|
227
|
+
<span class="ruby-keyword">begin</span>
|
228
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-constant">CSV</span>.<span class="ruby-identifier">parse_line</span>(<span class="ruby-identifier">text</span>)
|
229
|
+
[ <span class="ruby-identifier">data</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">strip</span> }, <span class="ruby-keyword">nil</span>, <span class="ruby-identifier">line</span> ]
|
230
|
+
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
231
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-node">"#{file} (line #{line+1}): #{e.message}"</span>
|
232
|
+
<span class="ruby-keyword">end</span>
|
233
|
+
<span class="ruby-keyword">end</span>
|
234
|
+
<span class="ruby-keyword">end</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> }
|
237
235
|
<span class="ruby-keyword">end</span></pre>
|
238
236
|
</div>
|
239
237
|
|
@@ -265,20 +263,20 @@ parser can't handle the file.</p>
|
|
265
263
|
|
266
264
|
<div class="method-source-code" id="default-source">
|
267
265
|
<pre><span class="ruby-comment"># File lib/bauxite/parsers/default.rb, line 27</span>
|
268
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">io</span> = <span class="ruby-keyword">nil</span>)
|
269
|
-
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-string">'stdin'</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/\.[tb]xt(\..*)?$/</span>)
|
270
|
-
|
271
|
-
<span class="ruby-keyword">return</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">$stdin</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-string">'stdin'</span> <span class="ruby-keyword">and</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">io</span>
|
272
|
-
|
273
|
-
<span class="ruby-keyword">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">io</span><span class="ruby-operator">|</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">io</span>) } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">io</span>
|
274
|
-
|
275
|
-
<span class="ruby-identifier">io</span>.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">each_with_index</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">text</span>,<span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
276
|
-
<span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/\r?\n$/</span>, <span class="ruby-string">''</span>)
|
277
|
-
<span class="ruby-keyword">next</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^\s*(#|$)/</span>
|
278
|
-
<span class="ruby-identifier">data</span> = <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">parse_action_default</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>)
|
279
|
-
[ <span class="ruby-identifier">data</span>[<span class="ruby-value">:action</span>], <span class="ruby-identifier">data</span>[<span class="ruby-value">:args</span>], <span class="ruby-identifier">text</span>, <span class="ruby-identifier">line</span> ]
|
280
|
-
<span class="ruby-keyword">end</span>
|
281
|
-
.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> }
|
266
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">io</span> = <span class="ruby-keyword">nil</span>)
|
267
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-string">'stdin'</span> <span class="ruby-keyword">or</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/\.[tb]xt(\..*)?$/</span>)
|
268
|
+
|
269
|
+
<span class="ruby-keyword">return</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">$stdin</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">file</span> <span class="ruby-operator">==</span> <span class="ruby-string">'stdin'</span> <span class="ruby-keyword">and</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">io</span>
|
270
|
+
|
271
|
+
<span class="ruby-keyword">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">io</span><span class="ruby-operator">|</span> <span class="ruby-identifier">default</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">io</span>) } <span class="ruby-keyword">unless</span> <span class="ruby-identifier">io</span>
|
272
|
+
|
273
|
+
<span class="ruby-identifier">io</span>.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">each_with_index</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">text</span>,<span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
274
|
+
<span class="ruby-identifier">text</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/\r?\n$/</span>, <span class="ruby-string">''</span>)
|
275
|
+
<span class="ruby-keyword">next</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">text</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^\s*(#|$)/</span>
|
276
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">parse_action_default</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>)
|
277
|
+
[ <span class="ruby-identifier">data</span>[<span class="ruby-value">:action</span>], <span class="ruby-identifier">data</span>[<span class="ruby-value">:args</span>], <span class="ruby-identifier">text</span>, <span class="ruby-identifier">line</span> ]
|
278
|
+
<span class="ruby-keyword">end</span>
|
279
|
+
.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">item</span><span class="ruby-operator">|</span> <span class="ruby-identifier">item</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span> }
|
282
280
|
<span class="ruby-keyword">end</span></pre>
|
283
281
|
</div>
|
284
282
|
|
@@ -310,51 +308,51 @@ parser can't handle the file.</p>
|
|
310
308
|
|
311
309
|
<div class="method-source-code" id="selenium_ide_html-source">
|
312
310
|
<pre><span class="ruby-comment"># File lib/bauxite/parsers/html.rb, line 27</span>
|
313
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">selenium_ide_html</span>(<span class="ruby-identifier">file</span>)
|
314
|
-
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">end_with?</span> <span class="ruby-string">'.html'</span>
|
315
|
-
|
316
|
-
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
317
|
-
<span class="ruby-identifier">content</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
|
318
|
-
|
319
|
-
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/[\n\r]/</span>, <span class="ruby-string">''</span>)
|
320
|
-
<span class="ruby-identifier">selenium_base</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/.*rel="selenium.base" href="([^"]*)".*/</span>, <span class="ruby-string">'\1'</span>)
|
321
|
-
<span class="ruby-identifier">base_ends_in_slash</span> = (<span class="ruby-identifier">selenium_base</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'/'</span>)
|
322
|
-
|
323
|
-
<span class="ruby-identifier">data</span>
|
324
|
-
.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'<tr>'</span>, <span class="ruby-string">"\naction="</span>)
|
325
|
-
.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'</tr>'</span>, <span class="ruby-string">"\n"</span>)
|
326
|
-
.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-regexp">/^action=/</span>)
|
327
|
-
.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/^action=\s*<td>([^<]*)<\/td>\s*<td>([^<]*)<\/td>\s*<td>([^<]*)<\/td>.*$/</span>) }
|
328
|
-
.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span> }
|
329
|
-
.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">captures</span> }
|
330
|
-
.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span><span class="ruby-operator">|</span>
|
331
|
-
<span class="ruby-keyword">case</span> <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">downcase</span>
|
332
|
-
<span class="ruby-keyword">when</span> <span class="ruby-string">'open'</span>
|
333
|
-
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>]
|
334
|
-
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">url</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">url</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'/'</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">base_ends_in_slash</span> <span class="ruby-comment"># remove leading '/'
|
335
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">selenium_base</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">url</span>
|
336
|
-
<span class="ruby-keyword">when</span> <span class="ruby-string">'type'</span>
|
337
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'write'</span>
|
338
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
339
|
-
<span class="ruby-keyword">when</span> <span class="ruby-string">'verifytextpresent'</span>
|
340
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'source'</span>
|
341
|
-
<span class="ruby-keyword">when</span> <span class="ruby-string">'clickandwait'</span>, <span class="ruby-string">'click'</span>
|
342
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'click'</span>
|
343
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
344
|
-
<span class="ruby-keyword">when</span> <span class="ruby-string">'waitforpagetoload'</span>
|
345
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'wait'</span>
|
346
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = (<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-operator">/</span> <span class="ruby-value">1000</span>).<span class="ruby-identifier">to_s</span>
|
347
|
-
<span class="ruby-keyword">when</span> <span class="ruby-string">'assertvalue'</span>
|
348
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'assert'</span>
|
349
|
-
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
350
|
-
<span class="ruby-keyword">when</span> <span class="ruby-string">'waitforpopup'</span>
|
351
|
-
<span class="ruby-identifier">action</span> = [] <span class="ruby-comment"># remove
|
352
|
-
<span class="ruby-keyword">end</span>
|
353
|
-
<span class="ruby-identifier">action</span> = <span class="ruby-identifier">action</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">!=</span> <span class="ruby-string">''</span> }
|
354
|
-
[ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">action</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>], <span class="ruby-keyword">nil</span>, <span class="ruby-value">0</span> ]
|
355
|
-
<span class="ruby-keyword">end</span>
|
356
|
-
.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>[<span class="ruby-value">0</span>] }
|
357
|
-
<span class="ruby-keyword">end</span>
|
311
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">selenium_ide_html</span>(<span class="ruby-identifier">file</span>)
|
312
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">nil</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">end_with?</span> <span class="ruby-string">'.html'</span>
|
313
|
+
|
314
|
+
<span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
315
|
+
<span class="ruby-identifier">content</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
|
316
|
+
|
317
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">content</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/[\n\r]/</span>, <span class="ruby-string">''</span>)
|
318
|
+
<span class="ruby-identifier">selenium_base</span> = <span class="ruby-identifier">data</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/.*rel="selenium.base" href="([^"]*)".*/</span>, <span class="ruby-string">'\1'</span>)
|
319
|
+
<span class="ruby-identifier">base_ends_in_slash</span> = (<span class="ruby-identifier">selenium_base</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'/'</span>)
|
320
|
+
|
321
|
+
<span class="ruby-identifier">data</span>
|
322
|
+
.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'<tr>'</span>, <span class="ruby-string">"\naction="</span>)
|
323
|
+
.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">'</tr>'</span>, <span class="ruby-string">"\n"</span>)
|
324
|
+
.<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-regexp">/^action=/</span>)
|
325
|
+
.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">match</span>(<span class="ruby-regexp">/^action=\s*<td>([^<]*)<\/td>\s*<td>([^<]*)<\/td>\s*<td>([^<]*)<\/td>.*$/</span>) }
|
326
|
+
.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span> }
|
327
|
+
.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span> <span class="ruby-identifier">match</span>.<span class="ruby-identifier">captures</span> }
|
328
|
+
.<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span><span class="ruby-operator">|</span>
|
329
|
+
<span class="ruby-keyword">case</span> <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">downcase</span>
|
330
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'open'</span>
|
331
|
+
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>]
|
332
|
+
<span class="ruby-identifier">url</span> = <span class="ruby-identifier">url</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>] <span class="ruby-keyword">if</span> <span class="ruby-identifier">url</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-string">'/'</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">base_ends_in_slash</span> <span class="ruby-comment"># remove leading '/'
|
333
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">selenium_base</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">url</span>
|
334
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'type'</span>
|
335
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'write'</span>
|
336
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
337
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'verifytextpresent'</span>
|
338
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'source'</span>
|
339
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'clickandwait'</span>, <span class="ruby-string">'click'</span>
|
340
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'click'</span>
|
341
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
342
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'waitforpagetoload'</span>
|
343
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'wait'</span>
|
344
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = (<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_i</span> <span class="ruby-operator">/</span> <span class="ruby-value">1000</span>).<span class="ruby-identifier">to_s</span>
|
345
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'assertvalue'</span>
|
346
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">'assert'</span>
|
347
|
+
<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>] = <span class="ruby-identifier">_selenium_ide_html_parse_selector</span>(<span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>])
|
348
|
+
<span class="ruby-keyword">when</span> <span class="ruby-string">'waitforpopup'</span>
|
349
|
+
<span class="ruby-identifier">action</span> = [] <span class="ruby-comment"># remove
|
350
|
+
<span class="ruby-keyword">end</span>
|
351
|
+
<span class="ruby-identifier">action</span> = <span class="ruby-identifier">action</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span> <span class="ruby-operator">!=</span> <span class="ruby-string">''</span> }
|
352
|
+
[ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>], <span class="ruby-identifier">action</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>], <span class="ruby-keyword">nil</span>, <span class="ruby-value">0</span> ]
|
353
|
+
<span class="ruby-keyword">end</span>
|
354
|
+
.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>[<span class="ruby-value">0</span>] }
|
355
|
+
<span class="ruby-keyword">end</span>
|
358
356
|
<span class="ruby-keyword">end</span></pre>
|
359
357
|
</div>
|
360
358
|
|
@@ -374,7 +372,7 @@ parser can't handle the file.</p>
|
|
374
372
|
|
375
373
|
<footer id="validator-badges" role="contentinfo">
|
376
374
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
377
|
-
<p>Generated by <a href="http://
|
378
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
375
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
376
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
379
377
|
</footer>
|
380
378
|
|
@@ -6,20 +6,17 @@
|
|
6
6
|
|
7
7
|
<title>module Bauxite::ParserModule - RDoc Documentation</title>
|
8
8
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
11
|
-
|
12
9
|
<script type="text/javascript">
|
13
10
|
var rdoc_rel_prefix = "../";
|
14
11
|
</script>
|
15
12
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
17
|
-
<script src="../js/navigation.js"></script>
|
18
|
-
<script src="../js/search_index.js"></script>
|
19
|
-
<script src="../js/search.js"></script>
|
20
|
-
<script src="../js/searcher.js"></script>
|
21
14
|
<script src="../js/darkfish.js"></script>
|
22
15
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
18
|
+
|
19
|
+
|
23
20
|
|
24
21
|
<body id="top" role="document" class="module">
|
25
22
|
<nav role="navigation">
|
@@ -126,8 +123,8 @@
|
|
126
123
|
|
127
124
|
<div class="method-source-code" id="new-source">
|
128
125
|
<pre><span class="ruby-comment"># File lib/bauxite/core/parser.rb, line 27</span>
|
129
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ctx</span>)
|
130
|
-
<span class="ruby-ivar">@ctx</span> = <span class="ruby-identifier">ctx</span>
|
126
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ctx</span>)
|
127
|
+
<span class="ruby-ivar">@ctx</span> = <span class="ruby-identifier">ctx</span>
|
131
128
|
<span class="ruby-keyword">end</span></pre>
|
132
129
|
</div>
|
133
130
|
|
@@ -167,17 +164,17 @@
|
|
167
164
|
|
168
165
|
<div class="method-source-code" id="parse-source">
|
169
166
|
<pre><span class="ruby-comment"># File lib/bauxite/core/parser.rb, line 32</span>
|
170
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">file</span>)
|
171
|
-
<span class="ruby-identifier">actions</span> = <span class="ruby-keyword">nil</span>
|
172
|
-
<span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">parsers</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">actions</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">p</span>, <span class="ruby-identifier">file</span>) }
|
173
|
-
|
174
|
-
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">actions</span>
|
175
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">FormatError</span>, <span class="ruby-node">"Invalid format in '#{file}'. None of the available parsers can understand this file format."</span>
|
176
|
-
<span class="ruby-keyword">end</span>
|
177
|
-
|
178
|
-
<span class="ruby-identifier">actions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
179
|
-
<span class="ruby-keyword">yield</span> <span class="ruby-identifier">action</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>
|
180
|
-
<span class="ruby-keyword">end</span>
|
167
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">parse</span>(<span class="ruby-identifier">file</span>)
|
168
|
+
<span class="ruby-identifier">actions</span> = <span class="ruby-keyword">nil</span>
|
169
|
+
<span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">parsers</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">actions</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">p</span>, <span class="ruby-identifier">file</span>) }
|
170
|
+
|
171
|
+
<span class="ruby-keyword">unless</span> <span class="ruby-identifier">actions</span>
|
172
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">FormatError</span>, <span class="ruby-node">"Invalid format in '#{file}'. None of the available parsers can understand this file format."</span>
|
173
|
+
<span class="ruby-keyword">end</span>
|
174
|
+
|
175
|
+
<span class="ruby-identifier">actions</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
|
176
|
+
<span class="ruby-keyword">yield</span> <span class="ruby-identifier">action</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">downcase</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>
|
177
|
+
<span class="ruby-keyword">end</span>
|
181
178
|
<span class="ruby-keyword">end</span></pre>
|
182
179
|
</div>
|
183
180
|
|
@@ -197,7 +194,7 @@
|
|
197
194
|
|
198
195
|
<footer id="validator-badges" role="contentinfo">
|
199
196
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
200
|
-
<p>Generated by <a href="http://
|
201
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
197
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
198
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
202
199
|
</footer>
|
203
200
|
|
data/doc/Bauxite/Selector.html
CHANGED
@@ -6,20 +6,17 @@
|
|
6
6
|
|
7
7
|
<title>class Bauxite::Selector - RDoc Documentation</title>
|
8
8
|
|
9
|
-
<link href="../fonts.css" rel="stylesheet">
|
10
|
-
<link href="../rdoc.css" rel="stylesheet">
|
11
|
-
|
12
9
|
<script type="text/javascript">
|
13
10
|
var rdoc_rel_prefix = "../";
|
14
11
|
</script>
|
15
12
|
|
16
13
|
<script src="../js/jquery.js"></script>
|
17
|
-
<script src="../js/navigation.js"></script>
|
18
|
-
<script src="../js/search_index.js"></script>
|
19
|
-
<script src="../js/search.js"></script>
|
20
|
-
<script src="../js/searcher.js"></script>
|
21
14
|
<script src="../js/darkfish.js"></script>
|
22
15
|
|
16
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
17
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
18
|
+
|
19
|
+
|
23
20
|
|
24
21
|
<body id="top" role="document" class="class">
|
25
22
|
<nav role="navigation">
|
@@ -178,7 +175,7 @@ considered part of the selector name).</p>
|
|
178
175
|
</pre>
|
179
176
|
<hr>
|
180
177
|
|
181
|
-
<h3 id="class-Bauxite::Selector-label-Standard+Selenium+Selectors">Standard Selenium Selectors<span><a href="#class-Bauxite::Selector-label-Standard+Selenium+Selectors">¶</a> <a href="#
|
178
|
+
<h3 id="class-Bauxite::Selector-label-Standard+Selenium+Selectors">Standard Selenium Selectors<span><a href="#class-Bauxite::Selector-label-Standard+Selenium+Selectors">¶</a> <a href="#top">↑</a></span></h3>
|
182
179
|
<dl class="rdoc-list label-list"><dt>id=<code>targetValue</code>
|
183
180
|
<dd>
|
184
181
|
<p><a href="http://docs.seleniumhq.org/docs/03_webdriver.jsp#by-id">Locate
|
@@ -282,19 +279,18 @@ elements using XPATH expressions.</a></p>
|
|
282
279
|
|
283
280
|
<p>For example:</p>
|
284
281
|
|
285
|
-
<pre
|
286
|
-
|
287
|
-
|
288
|
-
</pre>
|
282
|
+
<pre># assuming <div custom="true">foo</div>
|
283
|
+
assert attr=custom:true "foo"
|
284
|
+
# => matches the element above.</pre>
|
289
285
|
|
290
286
|
|
291
287
|
|
292
288
|
|
293
289
|
<div class="method-source-code" id="attr-source">
|
294
290
|
<pre><span class="ruby-comment"># File lib/bauxite/selectors/attr.rb, line 35</span>
|
295
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">attr</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
296
|
-
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">':'</span>, <span class="ruby-value">2</span>)
|
297
|
-
<span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:css</span>, <span class="ruby-node">"[#{data[0]}='#{data[1]}']"</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
291
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">attr</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
292
|
+
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">arg</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">':'</span>, <span class="ruby-value">2</span>)
|
293
|
+
<span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:css</span>, <span class="ruby-node">"[#{data[0]}='#{data[1]}']"</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
298
294
|
<span class="ruby-keyword">end</span></pre>
|
299
295
|
</div>
|
300
296
|
|
@@ -351,17 +347,17 @@ selector.</p>
|
|
351
347
|
|
352
348
|
<div class="method-source-code" id="frame-source">
|
353
349
|
<pre><span class="ruby-comment"># File lib/bauxite/selectors/frame.rb, line 48</span>
|
354
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">frame</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
355
|
-
<span class="ruby-identifier">delimiter</span> = <span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>]
|
356
|
-
<span class="ruby-identifier">items</span> = <span class="ruby-identifier">arg</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-identifier">delimiter</span>, <span class="ruby-value">2</span>)
|
357
|
-
<span class="ruby-identifier">find</span>(<span class="ruby-identifier">items</span>[<span class="ruby-value">0</span>]) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
358
|
-
<span class="ruby-keyword">begin</span>
|
359
|
-
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">frame</span> <span class="ruby-identifier">f</span>
|
360
|
-
<span class="ruby-identifier">find</span>(<span class="ruby-identifier">items</span>[<span class="ruby-value">1</span>], <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
361
|
-
<span class="ruby-keyword">ensure</span>
|
362
|
-
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">default_content</span>
|
363
|
-
<span class="ruby-keyword">end</span>
|
364
|
-
<span class="ruby-keyword">end</span>
|
350
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">frame</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
351
|
+
<span class="ruby-identifier">delimiter</span> = <span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>]
|
352
|
+
<span class="ruby-identifier">items</span> = <span class="ruby-identifier">arg</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-identifier">delimiter</span>, <span class="ruby-value">2</span>)
|
353
|
+
<span class="ruby-identifier">find</span>(<span class="ruby-identifier">items</span>[<span class="ruby-value">0</span>]) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
|
354
|
+
<span class="ruby-keyword">begin</span>
|
355
|
+
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">frame</span> <span class="ruby-identifier">f</span>
|
356
|
+
<span class="ruby-identifier">find</span>(<span class="ruby-identifier">items</span>[<span class="ruby-value">1</span>], <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
357
|
+
<span class="ruby-keyword">ensure</span>
|
358
|
+
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">default_content</span>
|
359
|
+
<span class="ruby-keyword">end</span>
|
360
|
+
<span class="ruby-keyword">end</span>
|
365
361
|
<span class="ruby-keyword">end</span></pre>
|
366
362
|
</div>
|
367
363
|
|
@@ -405,28 +401,27 @@ selector.</p>
|
|
405
401
|
|
406
402
|
<p>For example:</p>
|
407
403
|
|
408
|
-
<pre
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
413
|
-
</pre>
|
404
|
+
<pre># assuming {"key": [{"subkey":4},{"val":"42"}]}
|
405
|
+
assert json=key[0].subkey 4
|
406
|
+
assert json=key[1].val 42
|
407
|
+
assert json=key.length 2
|
408
|
+
# => these assertions would pass</pre>
|
414
409
|
|
415
410
|
|
416
411
|
|
417
412
|
|
418
413
|
<div class="method-source-code" id="json-source">
|
419
414
|
<pre><span class="ruby-comment"># File lib/bauxite/selectors/json.rb, line 49</span>
|
420
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">json</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
421
|
-
<span class="ruby-identifier">source</span> = <span class="ruby-constant">JSON</span><span class="ruby-operator">::</span><span class="ruby-identifier">parse</span>(<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">page_source</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/^<html[^>]*>.*<pre>/</span>, <span class="ruby-string">''</span>).<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/<\/pre>.*<\/html>$/</span>, <span class="ruby-string">''</span>))
|
422
|
-
<span class="ruby-identifier">element</span> = <span class="ruby-identifier">_json_find</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">arg</span>)
|
423
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoSuchElementError</span>, <span class="ruby-node">"Cannot find JSON element: #{arg}"</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">element</span>
|
424
|
-
|
425
|
-
<span class="ruby-identifier">element</span> = <span class="ruby-identifier">element</span>.<span class="ruby-identifier">to_s</span>
|
426
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">text</span>; <span class="ruby-keyword">self</span>; <span class="ruby-keyword">end</span>
|
427
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">tag_name</span>; <span class="ruby-string">'json'</span>; <span class="ruby-keyword">end</span>
|
428
|
-
<span class="ruby-keyword">yield</span> <span class="ruby-identifier">element</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
|
429
|
-
<span class="ruby-identifier">element</span>
|
415
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">json</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
416
|
+
<span class="ruby-identifier">source</span> = <span class="ruby-constant">JSON</span><span class="ruby-operator">::</span><span class="ruby-identifier">parse</span>(<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">page_source</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/^<html[^>]*>.*<pre>/</span>, <span class="ruby-string">''</span>).<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/<\/pre>.*<\/html>$/</span>, <span class="ruby-string">''</span>))
|
417
|
+
<span class="ruby-identifier">element</span> = <span class="ruby-identifier">_json_find</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">arg</span>)
|
418
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Selenium</span><span class="ruby-operator">::</span><span class="ruby-constant">WebDriver</span><span class="ruby-operator">::</span><span class="ruby-constant">Error</span><span class="ruby-operator">::</span><span class="ruby-constant">NoSuchElementError</span>, <span class="ruby-node">"Cannot find JSON element: #{arg}"</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">element</span>
|
419
|
+
|
420
|
+
<span class="ruby-identifier">element</span> = <span class="ruby-identifier">element</span>.<span class="ruby-identifier">to_s</span>
|
421
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">text</span>; <span class="ruby-keyword">self</span>; <span class="ruby-keyword">end</span>
|
422
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">tag_name</span>; <span class="ruby-string">'json'</span>; <span class="ruby-keyword">end</span>
|
423
|
+
<span class="ruby-keyword">yield</span> <span class="ruby-identifier">element</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">block_given?</span>
|
424
|
+
<span class="ruby-identifier">element</span>
|
430
425
|
<span class="ruby-keyword">end</span></pre>
|
431
426
|
</div>
|
432
427
|
|
@@ -458,18 +453,17 @@ equal sign (i.e. '=') will use this selector.</p>
|
|
458
453
|
|
459
454
|
<p>For example:</p>
|
460
455
|
|
461
|
-
<pre
|
462
|
-
|
463
|
-
|
464
|
-
</pre>
|
456
|
+
<pre># assuming <div id="strange_uuid_like_stuff_myDiv">foo</div>
|
457
|
+
assert sid=myDiv "foo"
|
458
|
+
# => matches the element above.</pre>
|
465
459
|
|
466
460
|
|
467
461
|
|
468
462
|
|
469
463
|
<div class="method-source-code" id="sid-source">
|
470
464
|
<pre><span class="ruby-comment"># File lib/bauxite/selectors/sid.rb, line 35</span>
|
471
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">sid</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
472
|
-
<span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:css</span>, <span class="ruby-node">"[id$='#{arg.gsub("'", "\\'")}']"</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
465
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">sid</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
466
|
+
<span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:css</span>, <span class="ruby-node">"[id$='#{arg.gsub("'", "\\'")}']"</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
473
467
|
<span class="ruby-keyword">end</span></pre>
|
474
468
|
</div>
|
475
469
|
|
@@ -533,32 +527,32 @@ child control element, including input, select, textarea and button).</p>
|
|
533
527
|
|
534
528
|
<div class="method-source-code" id="smart-source">
|
535
529
|
<pre><span class="ruby-comment"># File lib/bauxite/selectors/smart.rb, line 46</span>
|
536
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">smart</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
537
|
-
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">lambda</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> }
|
538
|
-
<span class="ruby-identifier">target</span> = <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">sid</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">b</span>) }
|
539
|
-
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:name</span>, <span class="ruby-identifier">arg</span>) }
|
540
|
-
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:class_name</span>, <span class="ruby-identifier">arg</span>) }
|
541
|
-
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">attr</span>(<span class="ruby-string">"id*:"</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">b</span>) }
|
542
|
-
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">attr</span>(<span class="ruby-string">"placeholder:"</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">b</span>) }
|
543
|
-
<span class="ruby-identifier">quoted_arg</span> = <span class="ruby-string">"'"</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">"'"</span>, <span class="ruby-string">"\\'"</span>)<span class="ruby-operator">+</span><span class="ruby-string">"'"</span>
|
544
|
-
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> <span class="ruby-keyword">do</span>
|
545
|
-
<span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:css</span>, [<span class="ruby-node">"input[type='checkbox'][value=#{quoted_arg}]"</span>,
|
546
|
-
<span class="ruby-node">"input[type='radio'][value=#{quoted_arg}]"</span>,
|
547
|
-
<span class="ruby-node">"input[type='button'][value=#{quoted_arg}]"</span>,
|
548
|
-
<span class="ruby-node">"input[type='submit'][value=#{quoted_arg}]"</span>
|
549
|
-
].<span class="ruby-identifier">join</span>(<span class="ruby-string">','</span>)
|
550
|
-
)
|
551
|
-
<span class="ruby-keyword">end</span>
|
552
|
-
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">target</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">target</span>
|
553
|
-
|
554
|
-
<span class="ruby-identifier">target</span> = <span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:xpath</span>, <span class="ruby-node">"//*[contains(text(), '#{arg.gsub("'", "\\'")}')]"</span>)
|
555
|
-
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">target</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">target</span>.<span class="ruby-identifier">tag_name</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-string">'label'</span>
|
556
|
-
<span class="ruby-identifier">label</span> = <span class="ruby-identifier">target</span>
|
557
|
-
<span class="ruby-identifier">id</span> = <span class="ruby-identifier">label</span>[<span class="ruby-string">'for'</span>]
|
558
|
-
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:id</span>, <span class="ruby-identifier">id</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">id</span>
|
559
|
-
|
560
|
-
<span class="ruby-identifier">target</span> = <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">label</span>.<span class="ruby-identifier">find_element</span>(<span class="ruby-value">:css</span>, <span class="ruby-string">"input, select, textarea, button"</span>) }
|
561
|
-
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">target</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">target</span>
|
530
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">smart</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
531
|
+
<span class="ruby-identifier">b</span> = <span class="ruby-identifier">lambda</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-identifier">e</span> }
|
532
|
+
<span class="ruby-identifier">target</span> = <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">sid</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">b</span>) }
|
533
|
+
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:name</span>, <span class="ruby-identifier">arg</span>) }
|
534
|
+
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:class_name</span>, <span class="ruby-identifier">arg</span>) }
|
535
|
+
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">attr</span>(<span class="ruby-string">"id*:"</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">b</span>) }
|
536
|
+
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">attr</span>(<span class="ruby-string">"placeholder:"</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">b</span>) }
|
537
|
+
<span class="ruby-identifier">quoted_arg</span> = <span class="ruby-string">"'"</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">"'"</span>, <span class="ruby-string">"\\'"</span>)<span class="ruby-operator">+</span><span class="ruby-string">"'"</span>
|
538
|
+
<span class="ruby-identifier">target</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">_smart_try_find</span> <span class="ruby-keyword">do</span>
|
539
|
+
<span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:css</span>, [<span class="ruby-node">"input[type='checkbox'][value=#{quoted_arg}]"</span>,
|
540
|
+
<span class="ruby-node">"input[type='radio'][value=#{quoted_arg}]"</span>,
|
541
|
+
<span class="ruby-node">"input[type='button'][value=#{quoted_arg}]"</span>,
|
542
|
+
<span class="ruby-node">"input[type='submit'][value=#{quoted_arg}]"</span>
|
543
|
+
].<span class="ruby-identifier">join</span>(<span class="ruby-string">','</span>)
|
544
|
+
)
|
545
|
+
<span class="ruby-keyword">end</span>
|
546
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">target</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">target</span>
|
547
|
+
|
548
|
+
<span class="ruby-identifier">target</span> = <span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:xpath</span>, <span class="ruby-node">"//*[contains(text(), '#{arg.gsub("'", "\\'")}')]"</span>)
|
549
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">target</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">target</span>.<span class="ruby-identifier">tag_name</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">==</span> <span class="ruby-string">'label'</span>
|
550
|
+
<span class="ruby-identifier">label</span> = <span class="ruby-identifier">target</span>
|
551
|
+
<span class="ruby-identifier">id</span> = <span class="ruby-identifier">label</span>[<span class="ruby-string">'for'</span>]
|
552
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">selenium_find</span>(<span class="ruby-value">:id</span>, <span class="ruby-identifier">id</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">id</span>
|
553
|
+
|
554
|
+
<span class="ruby-identifier">target</span> = <span class="ruby-identifier">_smart_try_find</span> { <span class="ruby-identifier">label</span>.<span class="ruby-identifier">find_element</span>(<span class="ruby-value">:css</span>, <span class="ruby-string">"input, select, textarea, button"</span>) }
|
555
|
+
<span class="ruby-keyword">return</span> <span class="ruby-keyword">yield</span> <span class="ruby-identifier">target</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">target</span>
|
562
556
|
<span class="ruby-keyword">end</span></pre>
|
563
557
|
</div>
|
564
558
|
|
@@ -613,35 +607,35 @@ single-character delimiter.</p>
|
|
613
607
|
|
614
608
|
<div class="method-source-code" id="window-source">
|
615
609
|
<pre><span class="ruby-comment"># File lib/bauxite/selectors/window.rb, line 47</span>
|
616
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">window</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
617
|
-
<span class="ruby-identifier">current</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">window_handle</span>
|
618
|
-
|
619
|
-
<span class="ruby-identifier">delimiter</span> = <span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>]
|
620
|
-
<span class="ruby-identifier">name</span>,<span class="ruby-identifier">child</span> = <span class="ruby-identifier">arg</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-identifier">delimiter</span>, <span class="ruby-value">2</span>)
|
621
|
-
|
622
|
-
<span class="ruby-identifier">pattern</span> = <span class="ruby-node">/#{name}/</span>
|
623
|
-
<span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^\/.*\/[imxo]*$/</span>
|
624
|
-
<span class="ruby-identifier">pattern</span> = <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">name</span>)
|
625
|
-
<span class="ruby-keyword">end</span>
|
626
|
-
|
627
|
-
<span class="ruby-identifier">match</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">window_handles</span>.<span class="ruby-identifier">find</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span>
|
628
|
-
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">window</span> <span class="ruby-identifier">h</span>
|
629
|
-
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">current_url</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">pattern</span>
|
630
|
-
<span class="ruby-keyword">end</span>
|
631
|
-
|
632
|
-
<span class="ruby-identifier">name</span> = <span class="ruby-identifier">match</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">match</span>
|
633
|
-
<span class="ruby-keyword">begin</span>
|
634
|
-
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">window</span> <span class="ruby-identifier">name</span>
|
635
|
-
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
636
|
-
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">window</span> <span class="ruby-identifier">current</span>
|
637
|
-
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">"Cannot find a window matching '#{name}' (either by name exact match or by url regex)."</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
|
638
|
-
<span class="ruby-keyword">end</span>
|
639
|
-
|
640
|
-
<span class="ruby-keyword">begin</span>
|
641
|
-
<span class="ruby-identifier">find</span>(<span class="ruby-identifier">child</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
642
|
-
<span class="ruby-keyword">ensure</span>
|
643
|
-
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">window</span> <span class="ruby-identifier">current</span>
|
644
|
-
<span class="ruby-keyword">end</span>
|
610
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier">window</span>(<span class="ruby-identifier">arg</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
611
|
+
<span class="ruby-identifier">current</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">window_handle</span>
|
612
|
+
|
613
|
+
<span class="ruby-identifier">delimiter</span> = <span class="ruby-identifier">arg</span>[<span class="ruby-value">0</span>]
|
614
|
+
<span class="ruby-identifier">name</span>,<span class="ruby-identifier">child</span> = <span class="ruby-identifier">arg</span>[<span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>].<span class="ruby-identifier">split</span>(<span class="ruby-identifier">delimiter</span>, <span class="ruby-value">2</span>)
|
615
|
+
|
616
|
+
<span class="ruby-identifier">pattern</span> = <span class="ruby-node">/#{name}/</span>
|
617
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^\/.*\/[imxo]*$/</span>
|
618
|
+
<span class="ruby-identifier">pattern</span> = <span class="ruby-identifier">eval</span>(<span class="ruby-identifier">name</span>)
|
619
|
+
<span class="ruby-keyword">end</span>
|
620
|
+
|
621
|
+
<span class="ruby-identifier">match</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">window_handles</span>.<span class="ruby-identifier">find</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span>
|
622
|
+
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">window</span> <span class="ruby-identifier">h</span>
|
623
|
+
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">current_url</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">pattern</span>
|
624
|
+
<span class="ruby-keyword">end</span>
|
625
|
+
|
626
|
+
<span class="ruby-identifier">name</span> = <span class="ruby-identifier">match</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">match</span>
|
627
|
+
<span class="ruby-keyword">begin</span>
|
628
|
+
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">window</span> <span class="ruby-identifier">name</span>
|
629
|
+
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
630
|
+
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">window</span> <span class="ruby-identifier">current</span>
|
631
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-constant">Bauxite</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">AssertionError</span>, <span class="ruby-node">"Cannot find a window matching '#{name}' (either by name exact match or by url regex)."</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
|
632
|
+
<span class="ruby-keyword">end</span>
|
633
|
+
|
634
|
+
<span class="ruby-keyword">begin</span>
|
635
|
+
<span class="ruby-identifier">find</span>(<span class="ruby-identifier">child</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
636
|
+
<span class="ruby-keyword">ensure</span>
|
637
|
+
<span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">switch_to</span>.<span class="ruby-identifier">window</span> <span class="ruby-identifier">current</span>
|
638
|
+
<span class="ruby-keyword">end</span>
|
645
639
|
<span class="ruby-keyword">end</span></pre>
|
646
640
|
</div>
|
647
641
|
|
@@ -661,7 +655,7 @@ single-character delimiter.</p>
|
|
661
655
|
|
662
656
|
<footer id="validator-badges" role="contentinfo">
|
663
657
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
664
|
-
<p>Generated by <a href="http://
|
665
|
-
<p>Based on <a href="http://deveiate.org/projects/Darkfish-
|
658
|
+
<p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
|
659
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
666
660
|
</footer>
|
667
661
|
|