bauxite 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/doc/Bauxite/Action.html +3 -3
  3. data/doc/Bauxite/ActionModule.html +4 -4
  4. data/doc/Bauxite/Application.html +1 -1
  5. data/doc/Bauxite/Context.html +184 -143
  6. data/doc/Bauxite/Errors/AssertionError.html +1 -1
  7. data/doc/Bauxite/Errors/FileNotFoundError.html +1 -1
  8. data/doc/Bauxite/Errors/FormatError.html +107 -0
  9. data/doc/Bauxite/Errors.html +1 -1
  10. data/doc/Bauxite/Loggers/CompositeLogger.html +1 -1
  11. data/doc/Bauxite/Loggers/EchoLogger.html +2 -1
  12. data/doc/Bauxite/Loggers/FileLogger.html +1 -1
  13. data/doc/Bauxite/Loggers/NullLogger.html +6 -6
  14. data/doc/Bauxite/Loggers/TerminalLogger.html +15 -10
  15. data/doc/Bauxite/Loggers/XtermLogger.html +1 -1
  16. data/doc/Bauxite/Loggers.html +1 -1
  17. data/doc/Bauxite/Parser.html +325 -0
  18. data/doc/Bauxite/ParserModule.html +203 -0
  19. data/doc/Bauxite/Selector.html +1 -1
  20. data/doc/Bauxite/SelectorModule.html +4 -4
  21. data/doc/Bauxite.html +1 -1
  22. data/doc/created.rid +42 -38
  23. data/doc/index.html +5 -1
  24. data/doc/js/search_index.js +1 -1
  25. data/doc/table_of_contents.html +77 -36
  26. data/lib/bauxite/actions/alias.rb +1 -1
  27. data/lib/bauxite/actions/debug.rb +2 -3
  28. data/lib/bauxite/actions/tryload.rb +1 -1
  29. data/lib/bauxite/application.rb +2 -10
  30. data/lib/bauxite/core/{Context.rb → context.rb} +117 -114
  31. data/lib/bauxite/core/{Errors.rb → errors.rb} +6 -0
  32. data/lib/bauxite/core/parser.rb +78 -0
  33. data/lib/bauxite/loggers/echo.rb +1 -0
  34. data/lib/bauxite/loggers/terminal.rb +5 -0
  35. data/lib/bauxite/parsers/csv.rb +49 -0
  36. data/lib/bauxite/parsers/default.rb +42 -0
  37. data/lib/bauxite/parsers/html.rb +76 -0
  38. data/lib/bauxite.rb +1 -1
  39. data/test/alias.bxt +3 -0
  40. data/test/parsers/page.html +7 -0
  41. data/test/parsers.bxt +2 -0
  42. data/test/parsers.csv +7 -0
  43. data/test/parsers.html +32 -0
  44. metadata +18 -7
  45. /data/lib/bauxite/core/{Action.rb → action.rb} +0 -0
  46. /data/lib/bauxite/core/{Logger.rb → logger.rb} +0 -0
  47. /data/lib/bauxite/core/{Selector.rb → selector.rb} +0 -0
@@ -0,0 +1,325 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class Bauxite::Parser - RDoc Documentation</title>
8
+
9
+ <link href="../fonts.css" rel="stylesheet">
10
+ <link href="../rdoc.css" rel="stylesheet">
11
+
12
+ <script type="text/javascript">
13
+ var rdoc_rel_prefix = "../";
14
+ </script>
15
+
16
+ <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
+ <script src="../js/darkfish.js"></script>
22
+
23
+
24
+ <body id="top" role="document" class="class">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../table_of_contents.html#pages">Pages</a>
34
+ <a href="../table_of_contents.html#classes">Classes</a>
35
+ <a href="../table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+ <div id="sections-section" class="nav-section">
60
+ <h3>Sections</h3>
61
+
62
+ <ul class="link-list" role="directory">
63
+
64
+ <li><a href="#5Buntitled-5D"></a></li>
65
+
66
+ <li><a href="#Parser+Methods">Parser Methods</a></li>
67
+
68
+ </ul>
69
+ </div>
70
+
71
+ <div id="parent-class-section" class="nav-section">
72
+ <h3>Parent</h3>
73
+
74
+
75
+ <p class="link">Object
76
+
77
+ </div>
78
+
79
+
80
+
81
+ <!-- Method Quickref -->
82
+ <div id="method-list-section" class="nav-section">
83
+ <h3>Methods</h3>
84
+
85
+ <ul class="link-list" role="directory">
86
+
87
+ <li ><a href="#method-i-csv">#csv</a>
88
+
89
+ <li ><a href="#method-i-default">#default</a>
90
+
91
+ <li ><a href="#method-i-selenium_ide_html">#selenium_ide_html</a>
92
+
93
+ </ul>
94
+ </div>
95
+
96
+ </div>
97
+ </nav>
98
+
99
+ <main role="main" aria-labelledby="class-Bauxite::Parser">
100
+ <h1 id="class-Bauxite::Parser" class="class">
101
+ class Bauxite::Parser
102
+ </h1>
103
+
104
+ <section class="description">
105
+
106
+ </section>
107
+
108
+
109
+
110
+
111
+ <section id="5Buntitled-5D" class="documentation-section">
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+ </section>
122
+
123
+
124
+
125
+ <section id="Parser+Methods" class="documentation-section">
126
+
127
+ <header class="documentation-section-title">
128
+ <h2>
129
+ Parser Methods
130
+ </h2>
131
+ <span class="section-click-top">
132
+ <a href="#top">&uarr; top</a>
133
+ </span>
134
+ </header>
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+ <section id="public-instance-Parser+Methods-method-details" class="method-section">
145
+ <header>
146
+ <h3>Public Instance Methods</h3>
147
+ </header>
148
+
149
+
150
+ <div id="method-i-csv" class="method-detail ">
151
+
152
+ <div class="method-heading">
153
+ <span class="method-name">csv</span><span
154
+ class="method-args">(file)</span>
155
+
156
+ <span class="method-click-advice">click to toggle source</span>
157
+
158
+ </div>
159
+
160
+
161
+ <div class="method-description">
162
+
163
+ <p>Load CSV files.</p>
164
+
165
+
166
+
167
+
168
+ <div class="method-source-code" id="csv-source">
169
+ <pre><span class="ruby-comment"># File lib/bauxite/parsers/csv.rb, line 27</span>
170
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">csv</span>(<span class="ruby-identifier">file</span>)
171
+ <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>
172
+
173
+ <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>
174
+ <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>
175
+ <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>)
176
+ <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>
177
+ <span class="ruby-keyword">begin</span>
178
+ <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>)
179
+ [ <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> ]
180
+ <span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
181
+ <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;#{file} (line #{line+1}): #{e.message}&quot;</span>
182
+ <span class="ruby-keyword">end</span>
183
+ <span class="ruby-keyword">end</span>
184
+ <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> }
185
+ <span class="ruby-keyword">end</span></pre>
186
+ </div>
187
+
188
+ </div>
189
+
190
+
191
+
192
+
193
+ </div>
194
+
195
+
196
+ <div id="method-i-default" class="method-detail ">
197
+
198
+ <div class="method-heading">
199
+ <span class="method-name">default</span><span
200
+ class="method-args">(file, io = nil)</span>
201
+
202
+ <span class="method-click-advice">click to toggle source</span>
203
+
204
+ </div>
205
+
206
+
207
+ <div class="method-description">
208
+
209
+ <p>Load default Bauxite files.</p>
210
+
211
+
212
+
213
+
214
+ <div class="method-source-code" id="default-source">
215
+ <pre><span class="ruby-comment"># File lib/bauxite/parsers/default.rb, line 27</span>
216
+ <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>)
217
+ <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>)
218
+
219
+ <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>
220
+
221
+ <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>
222
+
223
+ <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>
224
+ <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>)
225
+ <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>
226
+ <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>)
227
+ [ <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> ]
228
+ <span class="ruby-keyword">end</span>
229
+ .<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> }
230
+ <span class="ruby-keyword">end</span></pre>
231
+ </div>
232
+
233
+ </div>
234
+
235
+
236
+
237
+
238
+ </div>
239
+
240
+
241
+ <div id="method-i-selenium_ide_html" class="method-detail ">
242
+
243
+ <div class="method-heading">
244
+ <span class="method-name">selenium_ide_html</span><span
245
+ class="method-args">(file)</span>
246
+
247
+ <span class="method-click-advice">click to toggle source</span>
248
+
249
+ </div>
250
+
251
+
252
+ <div class="method-description">
253
+
254
+ <p>Load Selenium IDE HTML files.</p>
255
+
256
+
257
+
258
+
259
+ <div class="method-source-code" id="selenium_ide_html-source">
260
+ <pre><span class="ruby-comment"># File lib/bauxite/parsers/html.rb, line 27</span>
261
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">selenium_ide_html</span>(<span class="ruby-identifier">file</span>)
262
+ <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>
263
+
264
+ <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>
265
+ <span class="ruby-identifier">content</span> = <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span>
266
+
267
+ <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>)
268
+ <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>)
269
+ <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>)
270
+
271
+ <span class="ruby-identifier">data</span>
272
+ .<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&lt;tr&gt;&#39;</span>, <span class="ruby-string">&quot;\naction=&quot;</span>)
273
+ .<span class="ruby-identifier">gsub</span>(<span class="ruby-string">&#39;&lt;/tr&gt;&#39;</span>, <span class="ruby-string">&quot;\n&quot;</span>)
274
+ .<span class="ruby-identifier">each_line</span>.<span class="ruby-identifier">grep</span>(<span class="ruby-regexp">/^action=/</span>)
275
+ .<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>) }
276
+ .<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> }
277
+ .<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> }
278
+ .<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>
279
+ <span class="ruby-keyword">case</span> <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>]
280
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;open&#39;</span>
281
+ <span class="ruby-identifier">url</span> = <span class="ruby-identifier">action</span>[<span class="ruby-value">1</span>]
282
+ <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>
283
+ <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>
284
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;type&#39;</span>
285
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;write&#39;</span>
286
+ <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>])
287
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;verifyTextPresent&#39;</span>
288
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;source&#39;</span>
289
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;clickAndWait&#39;</span>, <span class="ruby-string">&#39;click&#39;</span>
290
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;click&#39;</span>
291
+ <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>])
292
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;waitForPageToLoad&#39;</span>
293
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;wait&#39;</span>
294
+ <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>
295
+ <span class="ruby-keyword">when</span> <span class="ruby-string">&#39;assertValue&#39;</span>
296
+ <span class="ruby-identifier">action</span>[<span class="ruby-value">0</span>] = <span class="ruby-string">&#39;assert&#39;</span>
297
+ <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>])
298
+ <span class="ruby-keyword">end</span>
299
+ <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> }
300
+ [ <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> ]
301
+ <span class="ruby-keyword">end</span>
302
+ <span class="ruby-keyword">end</span>
303
+ <span class="ruby-keyword">end</span></pre>
304
+ </div>
305
+
306
+ </div>
307
+
308
+
309
+
310
+
311
+ </div>
312
+
313
+
314
+ </section>
315
+
316
+ </section>
317
+ </main>
318
+
319
+
320
+ <footer id="validator-badges" role="contentinfo">
321
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
322
+ <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
323
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
324
+ </footer>
325
+
@@ -0,0 +1,203 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>module Bauxite::ParserModule - RDoc Documentation</title>
8
+
9
+ <link href="../fonts.css" rel="stylesheet">
10
+ <link href="../rdoc.css" rel="stylesheet">
11
+
12
+ <script type="text/javascript">
13
+ var rdoc_rel_prefix = "../";
14
+ </script>
15
+
16
+ <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
+ <script src="../js/darkfish.js"></script>
22
+
23
+
24
+ <body id="top" role="document" class="module">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../table_of_contents.html#pages">Pages</a>
34
+ <a href="../table_of_contents.html#classes">Classes</a>
35
+ <a href="../table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+
60
+
61
+
62
+
63
+ <!-- Method Quickref -->
64
+ <div id="method-list-section" class="nav-section">
65
+ <h3>Methods</h3>
66
+
67
+ <ul class="link-list" role="directory">
68
+
69
+ <li ><a href="#method-c-new">::new</a>
70
+
71
+ <li ><a href="#method-i-parse">#parse</a>
72
+
73
+ </ul>
74
+ </div>
75
+
76
+ </div>
77
+ </nav>
78
+
79
+ <main role="main" aria-labelledby="module-Bauxite::ParserModule">
80
+ <h1 id="module-Bauxite::ParserModule" class="module">
81
+ module Bauxite::ParserModule
82
+ </h1>
83
+
84
+ <section class="description">
85
+
86
+ <p>Parser common state and behavior.</p>
87
+
88
+ </section>
89
+
90
+
91
+
92
+
93
+ <section id="5Buntitled-5D" class="documentation-section">
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
104
+ <header>
105
+ <h3>Public Class Methods</h3>
106
+ </header>
107
+
108
+
109
+ <div id="method-c-new" class="method-detail ">
110
+
111
+ <div class="method-heading">
112
+ <span class="method-name">new</span><span
113
+ class="method-args">(ctx)</span>
114
+
115
+ <span class="method-click-advice">click to toggle source</span>
116
+
117
+ </div>
118
+
119
+
120
+ <div class="method-description">
121
+
122
+ <p>Constructs a new test parser instance.</p>
123
+
124
+
125
+
126
+
127
+ <div class="method-source-code" id="new-source">
128
+ <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>
131
+ <span class="ruby-keyword">end</span></pre>
132
+ </div>
133
+
134
+ </div>
135
+
136
+
137
+
138
+
139
+ </div>
140
+
141
+
142
+ </section>
143
+
144
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
145
+ <header>
146
+ <h3>Public Instance Methods</h3>
147
+ </header>
148
+
149
+
150
+ <div id="method-i-parse" class="method-detail ">
151
+
152
+ <div class="method-heading">
153
+ <span class="method-name">parse</span><span
154
+ class="method-args">(file) { |strip.downcase, args, text, file, line| ... }</span>
155
+
156
+ <span class="method-click-advice">click to toggle source</span>
157
+
158
+ </div>
159
+
160
+
161
+ <div class="method-description">
162
+
163
+ <p>Parse <code>file</code> and yield the resulting actions.</p>
164
+
165
+
166
+
167
+
168
+ <div class="method-source-code" id="parse-source">
169
+ <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>
181
+ <span class="ruby-keyword">end</span></pre>
182
+ </div>
183
+
184
+ </div>
185
+
186
+
187
+
188
+
189
+ </div>
190
+
191
+
192
+ </section>
193
+
194
+ </section>
195
+ </main>
196
+
197
+
198
+ <footer id="validator-badges" role="contentinfo">
199
+ <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.0.
201
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
202
+ </footer>
203
+
@@ -416,7 +416,7 @@ selector.</p>
416
416
 
417
417
  <footer id="validator-badges" role="contentinfo">
418
418
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
419
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
419
+ <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
420
420
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
421
421
  </footer>
422
422
 
@@ -127,7 +127,7 @@
127
127
 
128
128
 
129
129
  <div class="method-source-code" id="new-source">
130
- <pre><span class="ruby-comment"># File lib/bauxite/core/Selector.rb, line 28</span>
130
+ <pre><span class="ruby-comment"># File lib/bauxite/core/selector.rb, line 28</span>
131
131
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ctx</span>)
132
132
  <span class="ruby-ivar">@ctx</span> = <span class="ruby-identifier">ctx</span>
133
133
  <span class="ruby-keyword">end</span></pre>
@@ -185,7 +185,7 @@ href="Context.html#method-i-find">Bauxite::Context#find</a>.</p>
185
185
 
186
186
 
187
187
  <div class="method-source-code" id="find-source">
188
- <pre><span class="ruby-comment"># File lib/bauxite/core/Selector.rb, line 48</span>
188
+ <pre><span class="ruby-comment"># File lib/bauxite/core/selector.rb, line 48</span>
189
189
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
190
190
  <span class="ruby-comment"># I know I should be using Class scope operators to refer to class</span>
191
191
  <span class="ruby-comment"># methods (i.e. Context::selectors), but for some reason RDoc</span>
@@ -253,7 +253,7 @@ href="Context.html#method-i-find">Bauxite::Context#find</a>.</p>
253
253
 
254
254
 
255
255
  <div class="method-source-code" id="selenium_find-source">
256
- <pre><span class="ruby-comment"># File lib/bauxite/core/Selector.rb, line 81</span>
256
+ <pre><span class="ruby-comment"># File lib/bauxite/core/selector.rb, line 81</span>
257
257
  <span class="ruby-keyword">def</span> <span class="ruby-identifier">selenium_find</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">selector</span>)
258
258
  <span class="ruby-identifier">element</span> = <span class="ruby-ivar">@ctx</span>.<span class="ruby-identifier">driver</span>.<span class="ruby-identifier">find_element</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">selector</span>)
259
259
  <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>
@@ -277,7 +277,7 @@ href="Context.html#method-i-find">Bauxite::Context#find</a>.</p>
277
277
 
278
278
  <footer id="validator-badges" role="contentinfo">
279
279
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
280
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
280
+ <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
281
281
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
282
282
  </footer>
283
283
 
data/doc/Bauxite.html CHANGED
@@ -92,7 +92,7 @@
92
92
 
93
93
  <footer id="validator-badges" role="contentinfo">
94
94
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
95
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
95
+ <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.0.
96
96
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
97
97
  </footer>
98
98