bauxite 0.6.18 → 0.6.19

Sign up to get free protection for your applications and to get access to all the features.
Files changed (205) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +21 -21
  3. data/README.md +293 -293
  4. data/Rakefile +128 -128
  5. data/bin/bauxite +27 -27
  6. data/doc/Bauxite.html +6 -9
  7. data/doc/Bauxite/Action.html +298 -315
  8. data/doc/Bauxite/ActionModule.html +23 -26
  9. data/doc/Bauxite/Application.html +36 -38
  10. data/doc/Bauxite/Context.html +303 -303
  11. data/doc/Bauxite/Errors.html +6 -9
  12. data/doc/Bauxite/Errors/AssertionError.html +6 -9
  13. data/doc/Bauxite/Errors/FileNotFoundError.html +6 -9
  14. data/doc/Bauxite/Errors/FormatError.html +6 -9
  15. data/doc/Bauxite/Loggers.html +6 -9
  16. data/doc/Bauxite/Loggers/CompositeLogger.html +29 -32
  17. data/doc/Bauxite/Loggers/EchoLogger.html +10 -13
  18. data/doc/Bauxite/Loggers/FileLogger.html +25 -28
  19. data/doc/Bauxite/Loggers/HtmlLogger.html +99 -102
  20. data/doc/Bauxite/Loggers/NullLogger.html +16 -19
  21. data/doc/Bauxite/Loggers/ReportLogger.html +43 -46
  22. data/doc/Bauxite/Loggers/TerminalLogger.html +76 -79
  23. data/doc/Bauxite/Loggers/XtermLogger.html +28 -31
  24. data/doc/Bauxite/Parser.html +87 -89
  25. data/doc/Bauxite/ParserModule.html +19 -22
  26. data/doc/Bauxite/Selector.html +99 -105
  27. data/doc/Bauxite/SelectorModule.html +27 -30
  28. data/doc/README_md.html +117 -103
  29. data/doc/created.rid +58 -58
  30. data/doc/fonts.css +167 -167
  31. data/doc/fonts/Lato-Light.ttf +0 -0
  32. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  33. data/doc/fonts/Lato-Regular.ttf +0 -0
  34. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  35. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  36. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  37. data/doc/images/add.png +0 -0
  38. data/doc/images/arrow_up.png +0 -0
  39. data/doc/images/brick.png +0 -0
  40. data/doc/images/brick_link.png +0 -0
  41. data/doc/images/bug.png +0 -0
  42. data/doc/images/bullet_black.png +0 -0
  43. data/doc/images/bullet_toggle_minus.png +0 -0
  44. data/doc/images/bullet_toggle_plus.png +0 -0
  45. data/doc/images/date.png +0 -0
  46. data/doc/images/delete.png +0 -0
  47. data/doc/images/find.png +0 -0
  48. data/doc/images/loadingAnimation.gif +0 -0
  49. data/doc/images/macFFBgHack.png +0 -0
  50. data/doc/images/package.png +0 -0
  51. data/doc/images/page_green.png +0 -0
  52. data/doc/images/page_white_text.png +0 -0
  53. data/doc/images/page_white_width.png +0 -0
  54. data/doc/images/plugin.png +0 -0
  55. data/doc/images/ruby.png +0 -0
  56. data/doc/images/tag_blue.png +0 -0
  57. data/doc/images/tag_green.png +0 -0
  58. data/doc/images/transparent.png +0 -0
  59. data/doc/images/wrench.png +0 -0
  60. data/doc/images/wrench_orange.png +0 -0
  61. data/doc/images/zoom.png +0 -0
  62. data/doc/index.html +117 -103
  63. data/doc/js/darkfish.js +32 -11
  64. data/doc/js/jquery.js +0 -0
  65. data/doc/js/navigation.js +0 -0
  66. data/doc/js/search.js +0 -0
  67. data/doc/js/search_index.js +1 -1
  68. data/doc/js/searcher.js +0 -0
  69. data/doc/rdoc.css +580 -580
  70. data/doc/table_of_contents.html +69 -72
  71. data/lib/bauxite.rb +28 -28
  72. data/lib/bauxite/actions/alias.rb +51 -51
  73. data/lib/bauxite/actions/assert.rb +49 -49
  74. data/lib/bauxite/actions/asserth.rb +60 -60
  75. data/lib/bauxite/actions/assertm.rb +49 -49
  76. data/lib/bauxite/actions/assertv.rb +40 -40
  77. data/lib/bauxite/actions/assertw.rb +47 -47
  78. data/lib/bauxite/actions/break.rb +39 -39
  79. data/lib/bauxite/actions/capture.rb +61 -61
  80. data/lib/bauxite/actions/click.rb +36 -36
  81. data/lib/bauxite/actions/debug.rb +103 -103
  82. data/lib/bauxite/actions/doif.rb +43 -43
  83. data/lib/bauxite/actions/dounless.rb +43 -43
  84. data/lib/bauxite/actions/echo.rb +36 -36
  85. data/lib/bauxite/actions/exec.rb +46 -46
  86. data/lib/bauxite/actions/exit.rb +35 -35
  87. data/lib/bauxite/actions/failif.rb +52 -52
  88. data/lib/bauxite/actions/js.rb +41 -41
  89. data/lib/bauxite/actions/load.rb +49 -49
  90. data/lib/bauxite/actions/open.rb +35 -35
  91. data/lib/bauxite/actions/params.rb +40 -40
  92. data/lib/bauxite/actions/replace.rb +37 -37
  93. data/lib/bauxite/actions/reset.rb +38 -38
  94. data/lib/bauxite/actions/return.rb +68 -68
  95. data/lib/bauxite/actions/ruby.rb +58 -58
  96. data/lib/bauxite/actions/select.rb +48 -48
  97. data/lib/bauxite/actions/set.rb +39 -39
  98. data/lib/bauxite/actions/setif.rb +44 -44
  99. data/lib/bauxite/actions/source.rb +44 -44
  100. data/lib/bauxite/actions/store.rb +38 -38
  101. data/lib/bauxite/actions/submit.rb +37 -37
  102. data/lib/bauxite/actions/test.rb +67 -67
  103. data/lib/bauxite/actions/tryload.rb +71 -71
  104. data/lib/bauxite/actions/wait.rb +38 -38
  105. data/lib/bauxite/actions/write.rb +44 -44
  106. data/lib/bauxite/application.rb +349 -349
  107. data/lib/bauxite/core/action.rb +199 -199
  108. data/lib/bauxite/core/context.rb +791 -791
  109. data/lib/bauxite/core/errors.rb +41 -41
  110. data/lib/bauxite/core/logger.rb +169 -169
  111. data/lib/bauxite/core/parser.rb +85 -85
  112. data/lib/bauxite/core/selector.rb +152 -152
  113. data/lib/bauxite/loggers/composite.rb +91 -91
  114. data/lib/bauxite/loggers/echo.rb +36 -36
  115. data/lib/bauxite/loggers/file.rb +68 -68
  116. data/lib/bauxite/loggers/html.rb +154 -154
  117. data/lib/bauxite/loggers/terminal.rb +134 -134
  118. data/lib/bauxite/loggers/xterm.rb +101 -101
  119. data/lib/bauxite/parsers/csv.rb +43 -43
  120. data/lib/bauxite/parsers/default.rb +42 -42
  121. data/lib/bauxite/parsers/html.rb +79 -79
  122. data/lib/bauxite/selectors/attr.rb +39 -39
  123. data/lib/bauxite/selectors/frame.rb +60 -60
  124. data/lib/bauxite/selectors/json.rb +88 -88
  125. data/lib/bauxite/selectors/sid.rb +38 -38
  126. data/lib/bauxite/selectors/smart.rb +80 -80
  127. data/lib/bauxite/selectors/window.rb +77 -77
  128. data/test/alert.bxt +3 -3
  129. data/test/alert/page.html +4 -4
  130. data/test/alias.bxt +9 -9
  131. data/test/asserth.bxt +2 -2
  132. data/test/assertv.bxt +1 -1
  133. data/test/assertw.bxt +7 -7
  134. data/test/broken.bxt.manual +0 -0
  135. data/test/bug_load_path.bxt.manual +0 -0
  136. data/test/bug_load_path/broken.bxt.manual +0 -0
  137. data/test/bug_load_path/test.bxt +0 -0
  138. data/test/capture.bxt.manual +20 -20
  139. data/test/capture/my_test.bxt +1 -1
  140. data/test/capture/page.html +6 -6
  141. data/test/capture_on_error.bxt.manual +3 -3
  142. data/test/capture_on_error/my_test.bxt +1 -1
  143. data/test/capture_on_error/page.html +2 -2
  144. data/test/debug.bxt.manual +0 -0
  145. data/test/default_selector.bxt.manual +7 -7
  146. data/test/default_selector/page.html +10 -10
  147. data/test/default_selector_var.bxt +1 -1
  148. data/test/delay.bxt +2 -2
  149. data/test/delay/page.html +4 -4
  150. data/test/doif.bxt +6 -6
  151. data/test/dounless.bxt +6 -6
  152. data/test/exec.bxt +6 -6
  153. data/test/exit.bxt +3 -3
  154. data/test/exit/test.bxt +3 -3
  155. data/test/extension.bxt.manual +4 -4
  156. data/test/extension/custom.rb +12 -12
  157. data/test/extension/page.html +4 -4
  158. data/test/failif.bxt +7 -7
  159. data/test/failif/page.html +5 -5
  160. data/test/format.bxt +17 -17
  161. data/test/format/page.html +6 -6
  162. data/test/frame.bxt +6 -6
  163. data/test/frame/child_frame.html +6 -6
  164. data/test/frame/grandchild_frame.html +4 -4
  165. data/test/frame/page.html +4 -4
  166. data/test/js.bxt +4 -4
  167. data/test/json.bxt +19 -19
  168. data/test/json/array.json +3 -3
  169. data/test/json/object.json +13 -13
  170. data/test/load.bxt +18 -18
  171. data/test/load/child.bxt +12 -12
  172. data/test/parsers.bxt +1 -1
  173. data/test/parsers.csv +7 -7
  174. data/test/parsers.html +32 -32
  175. data/test/parsers/page.html +6 -6
  176. data/test/return.bxt +1 -1
  177. data/test/return/f1.bxt +1 -1
  178. data/test/return/f2.bxt +1 -1
  179. data/test/return/f3.bxt +1 -1
  180. data/test/return/f4.bxt +2 -2
  181. data/test/ruby.bxt +1 -1
  182. data/test/ruby/custom.rb +5 -5
  183. data/test/select.bxt +9 -9
  184. data/test/select/page.html +8 -8
  185. data/test/selectors.bxt +7 -7
  186. data/test/selectors/page.html +6 -6
  187. data/test/set_builtin.bxt +5 -0
  188. data/test/set_builtin/page.html +5 -0
  189. data/test/setif.bxt +3 -3
  190. data/test/smart_selector.bxt +17 -17
  191. data/test/smart_selector/page.html +17 -17
  192. data/test/stdin.bxt +0 -0
  193. data/test/submit.bxt +4 -4
  194. data/test/submit/page.html +6 -6
  195. data/test/submit/page2.html +4 -4
  196. data/test/test.bxt.manual +6 -6
  197. data/test/test/test1.bxt +2 -2
  198. data/test/test/test2.bxt +3 -3
  199. data/test/test/test3.bxt +2 -2
  200. data/test/test/test4.bxt +1 -1
  201. data/test/test/test5.bxt +1 -1
  202. data/test/window.bxt +14 -14
  203. data/test/window/page.html +5 -5
  204. data/test/window/popup.html +4 -4
  205. 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">&#39;no&#39;</span>
160
- <span class="ruby-identifier">text</span>
161
- <span class="ruby-keyword">else</span>
162
- <span class="ruby-node">&quot;\033[#{COLORS[color]}m#{text}\033[0m&quot;</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">&#39;no&#39;</span>
157
+ <span class="ruby-identifier">text</span>
158
+ <span class="ruby-keyword">else</span>
159
+ <span class="ruby-node">&quot;\033[#{COLORS[color]}m#{text}\033[0m&quot;</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">&quot;\033[u&quot;</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">&quot;\033[u&quot;</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">&quot;\033[s&quot;</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">&quot;\033[s&quot;</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">&#39;host_os&#39;</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">&gt;</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">&#39;host_os&#39;</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">&gt;</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://rdoc.rubyforge.org">RDoc</a> 4.1.2.
297
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
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
 
@@ -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&#39;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, # action name
136
- args, # args array
137
- text, # raw action text (before parsing), or nil
138
- line # line in the file that defined the action
139
- ]</pre>
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&#39;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">&#39;.csv&#39;</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">&#39;&#39;</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">&gt;</span> <span class="ruby-identifier">e</span>
233
- <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{file} (line #{line+1}): #{e.message}&quot;</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">&#39;.csv&#39;</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">&#39;&#39;</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">&gt;</span> <span class="ruby-identifier">e</span>
231
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{file} (line #{line+1}): #{e.message}&quot;</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&#39;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">&#39;stdin&#39;</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">&#39;stdin&#39;</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">&#39;&#39;</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">&#39;stdin&#39;</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">&#39;stdin&#39;</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">&#39;&#39;</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&#39;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">&#39;.html&#39;</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">&#39;&#39;</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=&quot;selenium.base&quot; href=&quot;([^&quot;]*)&quot;.*/</span>, <span class="ruby-string">&#39;\1&#39;</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">&#39;/&#39;</span>)
322
-
323
- <span class="ruby-identifier">data</span>
324
- .<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&lt;tr&gt;&#39;</span>, <span class="ruby-string">&quot;\naction=&quot;</span>)
325
- .<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&lt;/tr&gt;&#39;</span>, <span class="ruby-string">&quot;\n&quot;</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*&lt;td&gt;([^&lt;]*)&lt;\/td&gt;\s*&lt;td&gt;([^&lt;]*)&lt;\/td&gt;\s*&lt;td&gt;([^&lt;]*)&lt;\/td&gt;.*$/</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">&#39;open&#39;</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">&#39;/&#39;</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">base_ends_in_slash</span> <span class="ruby-comment"># remove leading &#39;/&#39;</span>
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">&#39;type&#39;</span>
337
- <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;write&#39;</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">&#39;verifytextpresent&#39;</span>
340
- <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;source&#39;</span>
341
- <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;clickandwait&#39;</span>, <span class="ruby-string">&#39;click&#39;</span>
342
- <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;click&#39;</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">&#39;waitforpagetoload&#39;</span>
345
- <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;wait&#39;</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">&#39;assertvalue&#39;</span>
348
- <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;assert&#39;</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">&#39;waitforpopup&#39;</span>
351
- <span class="ruby-identifier">action</span> = [] <span class="ruby-comment"># remove</span>
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">&#39;&#39;</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">&#39;.html&#39;</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">&#39;&#39;</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=&quot;selenium.base&quot; href=&quot;([^&quot;]*)&quot;.*/</span>, <span class="ruby-string">&#39;\1&#39;</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">&#39;/&#39;</span>)
320
+
321
+ <span class="ruby-identifier">data</span>
322
+ .<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&lt;tr&gt;&#39;</span>, <span class="ruby-string">&quot;\naction=&quot;</span>)
323
+ .<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&lt;/tr&gt;&#39;</span>, <span class="ruby-string">&quot;\n&quot;</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*&lt;td&gt;([^&lt;]*)&lt;\/td&gt;\s*&lt;td&gt;([^&lt;]*)&lt;\/td&gt;\s*&lt;td&gt;([^&lt;]*)&lt;\/td&gt;.*$/</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">&#39;open&#39;</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">&#39;/&#39;</span> <span class="ruby-keyword">and</span> <span class="ruby-identifier">base_ends_in_slash</span> <span class="ruby-comment"># remove leading &#39;/&#39;
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">&#39;type&#39;</span>
335
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;write&#39;</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">&#39;verifytextpresent&#39;</span>
338
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;source&#39;</span>
339
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;clickandwait&#39;</span>, <span class="ruby-string">&#39;click&#39;</span>
340
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;click&#39;</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">&#39;waitforpagetoload&#39;</span>
343
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;wait&#39;</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">&#39;assertvalue&#39;</span>
346
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;assert&#39;</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">&#39;waitforpopup&#39;</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">&#39;&#39;</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&#39;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://rdoc.rubyforge.org">RDoc</a> 4.1.2.
378
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
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">&quot;Invalid format in &#39;#{file}&#39;. None of the available parsers can understand this file format.&quot;</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">&quot;Invalid format in &#39;#{file}&#39;. None of the available parsers can understand this file format.&quot;</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://rdoc.rubyforge.org">RDoc</a> 4.1.2.
201
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
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
 
@@ -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">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
178
+ <h3 id="class-Bauxite::Selector-label-Standard+Selenium+Selectors">Standard Selenium Selectors<span><a href="#class-Bauxite::Selector-label-Standard+Selenium+Selectors">&para;</a> <a href="#top">&uarr;</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 class="ruby"><span class="ruby-comment"># assuming &lt;div custom=&quot;true&quot;&gt;foo&lt;/div&gt;</span>
286
- <span class="ruby-identifier">assert</span> <span class="ruby-identifier">attr</span>=<span class="ruby-identifier">custom</span>:<span class="ruby-keyword">true</span> <span class="ruby-string">&quot;foo&quot;</span>
287
- <span class="ruby-comment"># =&gt; matches the element above.</span>
288
- </pre>
282
+ <pre># assuming &lt;div custom=&quot;true&quot;&gt;foo&lt;/div&gt;
283
+ assert attr=custom:true &quot;foo&quot;
284
+ # =&gt; 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">&amp;</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">&#39;:&#39;</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">&quot;[#{data[0]}=&#39;#{data[1]}&#39;]&quot;</span>, <span class="ruby-operator">&amp;</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">&amp;</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">&#39;:&#39;</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">&quot;[#{data[0]}=&#39;#{data[1]}&#39;]&quot;</span>, <span class="ruby-operator">&amp;</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">&amp;</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">&amp;</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">&amp;</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">&amp;</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 class="ruby"><span class="ruby-comment"># assuming {&quot;key&quot;: [{&quot;subkey&quot;:4},{&quot;val&quot;:&quot;42&quot;}]}</span>
409
- <span class="ruby-identifier">assert</span> <span class="ruby-identifier">json</span>=<span class="ruby-identifier">key</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">subkey</span> <span class="ruby-value">4</span>
410
- <span class="ruby-identifier">assert</span> <span class="ruby-identifier">json</span>=<span class="ruby-identifier">key</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">val</span> <span class="ruby-value">42</span>
411
- <span class="ruby-identifier">assert</span> <span class="ruby-identifier">json</span>=<span class="ruby-identifier">key</span>.<span class="ruby-identifier">length</span> <span class="ruby-value">2</span>
412
- <span class="ruby-comment"># =&gt; these assertions would pass</span>
413
- </pre>
404
+ <pre># assuming {&quot;key&quot;: [{&quot;subkey&quot;:4},{&quot;val&quot;:&quot;42&quot;}]}
405
+ assert json=key[0].subkey 4
406
+ assert json=key[1].val 42
407
+ assert json=key.length 2
408
+ # =&gt; 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">&amp;</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">/^&lt;html[^&gt;]*&gt;.*&lt;pre&gt;/</span>, <span class="ruby-string">&#39;&#39;</span>).<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/&lt;\/pre&gt;.*&lt;\/html&gt;$/</span>, <span class="ruby-string">&#39;&#39;</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">&quot;Cannot find JSON element: #{arg}&quot;</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">&#39;json&#39;</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">&amp;</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">/^&lt;html[^&gt;]*&gt;.*&lt;pre&gt;/</span>, <span class="ruby-string">&#39;&#39;</span>).<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/&lt;\/pre&gt;.*&lt;\/html&gt;$/</span>, <span class="ruby-string">&#39;&#39;</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">&quot;Cannot find JSON element: #{arg}&quot;</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">&#39;json&#39;</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. &#39;=&#39;) will use this selector.</p>
458
453
 
459
454
  <p>For example:</p>
460
455
 
461
- <pre class="ruby"><span class="ruby-comment"># assuming &lt;div id=&quot;strange_uuid_like_stuff_myDiv&quot;&gt;foo&lt;/div&gt;</span>
462
- <span class="ruby-identifier">assert</span> <span class="ruby-identifier">sid</span>=<span class="ruby-identifier">myDiv</span> <span class="ruby-string">&quot;foo&quot;</span>
463
- <span class="ruby-comment"># =&gt; matches the element above.</span>
464
- </pre>
456
+ <pre># assuming &lt;div id=&quot;strange_uuid_like_stuff_myDiv&quot;&gt;foo&lt;/div&gt;
457
+ assert sid=myDiv &quot;foo&quot;
458
+ # =&gt; 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">&amp;</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">&quot;[id$=&#39;#{arg.gsub(&quot;&#39;&quot;, &quot;\\&#39;&quot;)}&#39;]&quot;</span>, <span class="ruby-operator">&amp;</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">&amp;</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">&quot;[id$=&#39;#{arg.gsub(&quot;&#39;&quot;, &quot;\\&#39;&quot;)}&#39;]&quot;</span>, <span class="ruby-operator">&amp;</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">&amp;</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">&amp;</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">&quot;id*:&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</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">&quot;placeholder:&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>) }
543
- <span class="ruby-identifier">quoted_arg</span> = <span class="ruby-string">&quot;&#39;&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&quot;&#39;&quot;</span>, <span class="ruby-string">&quot;\\&#39;&quot;</span>)<span class="ruby-operator">+</span><span class="ruby-string">&quot;&#39;&quot;</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">&quot;input[type=&#39;checkbox&#39;][value=#{quoted_arg}]&quot;</span>,
546
- <span class="ruby-node">&quot;input[type=&#39;radio&#39;][value=#{quoted_arg}]&quot;</span>,
547
- <span class="ruby-node">&quot;input[type=&#39;button&#39;][value=#{quoted_arg}]&quot;</span>,
548
- <span class="ruby-node">&quot;input[type=&#39;submit&#39;][value=#{quoted_arg}]&quot;</span>
549
- ].<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;,&#39;</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">&quot;//*[contains(text(), &#39;#{arg.gsub(&quot;&#39;&quot;, &quot;\\&#39;&quot;)}&#39;)]&quot;</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">&#39;label&#39;</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">&#39;for&#39;</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">&quot;input, select, textarea, button&quot;</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">&amp;</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">&amp;</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">&quot;id*:&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</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">&quot;placeholder:&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>) }
537
+ <span class="ruby-identifier">quoted_arg</span> = <span class="ruby-string">&quot;&#39;&quot;</span><span class="ruby-operator">+</span><span class="ruby-identifier">arg</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&quot;&#39;&quot;</span>, <span class="ruby-string">&quot;\\&#39;&quot;</span>)<span class="ruby-operator">+</span><span class="ruby-string">&quot;&#39;&quot;</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">&quot;input[type=&#39;checkbox&#39;][value=#{quoted_arg}]&quot;</span>,
540
+ <span class="ruby-node">&quot;input[type=&#39;radio&#39;][value=#{quoted_arg}]&quot;</span>,
541
+ <span class="ruby-node">&quot;input[type=&#39;button&#39;][value=#{quoted_arg}]&quot;</span>,
542
+ <span class="ruby-node">&quot;input[type=&#39;submit&#39;][value=#{quoted_arg}]&quot;</span>
543
+ ].<span class="ruby-identifier">join</span>(<span class="ruby-string">&#39;,&#39;</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">&quot;//*[contains(text(), &#39;#{arg.gsub(&quot;&#39;&quot;, &quot;\\&#39;&quot;)}&#39;)]&quot;</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">&#39;label&#39;</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">&#39;for&#39;</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">&quot;input, select, textarea, button&quot;</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">&amp;</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">&gt;</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">&quot;Cannot find a window matching &#39;#{name}&#39; (either by name exact match or by url regex).&quot;</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">&amp;</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">&amp;</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">&gt;</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">&quot;Cannot find a window matching &#39;#{name}&#39; (either by name exact match or by url regex).&quot;</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">&amp;</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://rdoc.rubyforge.org">RDoc</a> 4.1.2.
665
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
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