doc/Bauxite/Context.html in bauxite-0.4.5 vs doc/Bauxite/Context.html in bauxite-0.4.6
- old
+ new
@@ -58,10 +58,11 @@
<h3>Table of Contents</h3>
<ul class="link-list" role="directory">
<li><a href="#class-Bauxite::Context-label-Context+variables">Context variables</a>
<li><a href="#class-Bauxite::Context-label-Variable+scope">Variable scope</a>
+ <li><a href="#class-Bauxite::Context-label-Built-in+variable">Built-in variable</a>
</ul>
</div>
<div id="class-metadata">
@@ -230,10 +231,43 @@
<ul><li>
<p><a
href="Action.html#method-i-return_action">Bauxite::Action#return_action</a></p>
</li></ul>
+<h3 id="class-Bauxite::Context-label-Built-in+variable">Built-in variable<span><a href="#class-Bauxite::Context-label-Built-in+variable">¶</a> <a href="#documentation">↑</a></span></h3>
+
+<p><a href="../Bauxite.html">Bauxite</a> has a series of built-in variables
+that provide information of the current test context and allow dynamic
+constomizations of the test behavior.</p>
+
+<p>The built-in variables are:</p>
+<dl class="rdoc-list label-list"><dt><code>__FILE__</code>
+<dd>
+<p>The file where the current action is defined.</p>
+</dd><dt><code>__DIR__</code>
+<dd>
+<p>The directory where <code>__FILE__</code> is.</p>
+</dd><dt><code>__SELECTOR__</code>
+<dd>
+<p>The default selector used when the selector specified does not contain an
+<code>=</code> character.</p>
+</dd><dt><code>__DEBUG__</code>
+<dd>
+<p>Set to true if the current action is being executed by the debug console.</p>
+</dd><dt><code>__RETURN__</code>
+<dd>
+<p>Used internally by <a
+href="Action.html#method-i-return_action">Bauxite::Action#return_action</a>
+to indicate which variables should be returned to the parent scope.</p>
+</dd></dl>
+
+<p>In general, variables surrounded by double underscores and variables whose
+names are only numbers are reserved for <a
+href="../Bauxite.html">Bauxite</a> and should not be used as part of a
+functional test. The obvious exception is when trying to change the test
+behavior by changing the built-in variables.</p>
+
</section>
@@ -374,11 +408,11 @@
<div class="method-source-code" id="new-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 113</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 140</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>)
<span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
<span class="ruby-ivar">@driver_name</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-value">:driver</span>] <span class="ruby-operator">||</span> <span class="ruby-value">:firefox</span>).<span class="ruby-identifier">to_sym</span>
<span class="ruby-ivar">@variables</span> = {
<span class="ruby-string">'__TIMEOUT__'</span> =<span class="ruby-operator">></span> (<span class="ruby-identifier">options</span>[<span class="ruby-value">:timeout</span>] <span class="ruby-operator">||</span> <span class="ruby-value">10</span>).<span class="ruby-identifier">to_i</span>,
@@ -442,11 +476,11 @@
<div class="method-source-code" id="debug-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 226</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 253</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">debug</span>
<span class="ruby-identifier">exec_action</span>(<span class="ruby-string">'debug'</span>, <span class="ruby-keyword">false</span>)
<span class="ruby-keyword">end</span></pre>
</div>
@@ -499,11 +533,11 @@
<div class="method-source-code" id="find-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 215</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 242</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>) <span class="ruby-comment"># yields: element</span>
<span class="ruby-identifier">with_timeout</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-keyword">do</span>
<span class="ruby-constant">Selector</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword">self</span>, <span class="ruby-ivar">@variables</span>[<span class="ruby-string">'__SELECTOR__'</span>]).<span class="ruby-identifier">find</span>(<span class="ruby-identifier">selector</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
@@ -549,11 +583,11 @@
<div class="method-source-code" id="get_value-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 245</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 272</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_value</span>(<span class="ruby-identifier">element</span>)
<span class="ruby-keyword">if</span> [<span class="ruby-string">'input'</span>,<span class="ruby-string">'select'</span>,<span class="ruby-string">'textarea'</span>].<span class="ruby-identifier">include?</span> <span class="ruby-identifier">element</span>.<span class="ruby-identifier">tag_name</span>.<span class="ruby-identifier">downcase</span>
<span class="ruby-identifier">element</span>.<span class="ruby-identifier">attribute</span>(<span class="ruby-string">'value'</span>)
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">element</span>.<span class="ruby-identifier">text</span>
@@ -592,11 +626,11 @@
<div class="method-source-code" id="reset_driver-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 170</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 197</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">reset_driver</span>
<span class="ruby-ivar">@driver</span>.<span class="ruby-identifier">quit</span>
<span class="ruby-identifier">_load_driver</span>
<span class="ruby-keyword">end</span></pre>
</div>
@@ -641,11 +675,11 @@
<div class="method-source-code" id="start-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 152</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 179</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">actions</span> = [])
<span class="ruby-identifier">_load_driver</span>
<span class="ruby-keyword">return</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">actions</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
<span class="ruby-keyword">begin</span>
<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-operator">|</span>
@@ -700,11 +734,11 @@
<div class="method-source-code" id="stop-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 190</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 217</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">stop</span>
<span class="ruby-constant">Context</span><span class="ruby-operator">::</span><span class="ruby-identifier">wait</span> <span class="ruby-keyword">if</span> <span class="ruby-ivar">@options</span>[<span class="ruby-value">:wait</span>]
<span class="ruby-ivar">@driver</span>.<span class="ruby-identifier">quit</span>
<span class="ruby-keyword">end</span></pre>
</div>
@@ -766,11 +800,11 @@
<div class="method-source-code" id="load_logger-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 388</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 415</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">load_logger</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">options</span>)
<span class="ruby-identifier">log_name</span> = (<span class="ruby-identifier">name</span> <span class="ruby-operator">||</span> <span class="ruby-string">'null'</span>).<span class="ruby-identifier">downcase</span>
<span class="ruby-identifier">class_name</span> = <span class="ruby-node">"#{log_name.capitalize}Logger"</span>
@@ -808,11 +842,11 @@
<div class="method-source-code" id="parse_action_default-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 410</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 437</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">parse_action_default</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">file</span> = <span class="ruby-string">'<unknown>'</span>, <span class="ruby-identifier">line</span> = <span class="ruby-value">0</span>)
<span class="ruby-identifier">data</span> = <span class="ruby-identifier">text</span>.<span class="ruby-identifier">split</span>(<span class="ruby-string">' '</span>, <span class="ruby-value">2</span>)
<span class="ruby-keyword">begin</span>
<span class="ruby-identifier">args_text</span> = <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">data</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">strip</span> <span class="ruby-operator">:</span> <span class="ruby-string">''</span>
<span class="ruby-identifier">args</span> = []
@@ -876,11 +910,11 @@
<div class="method-source-code" id="wait-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 381</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 408</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">wait</span>
<span class="ruby-constant">Readline</span>.<span class="ruby-identifier">readline</span>(<span class="ruby-string">"Press ENTER to continue\n"</span>)
<span class="ruby-keyword">end</span></pre>
</div>
@@ -918,11 +952,11 @@
<div class="method-source-code" id="add_alias-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 404</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 431</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">add_alias</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>)
<span class="ruby-ivar">@aliases</span>[<span class="ruby-identifier">name</span>] = { <span class="ruby-value">:action</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">action</span>, <span class="ruby-value">:args</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">args</span> }
<span class="ruby-keyword">end</span></pre>
</div>
@@ -961,11 +995,11 @@
<div class="method-source-code" id="exec_action-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 266</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 293</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_action</span>(<span class="ruby-identifier">text</span>, <span class="ruby-identifier">log</span> = <span class="ruby-keyword">true</span>, <span class="ruby-identifier">file</span> = <span class="ruby-string">'<unknown>'</span>, <span class="ruby-identifier">line</span> = <span class="ruby-value">0</span>)
<span class="ruby-identifier">data</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>)
<span class="ruby-identifier">_exec_parsed_action</span>(<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">log</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>)
<span class="ruby-keyword">end</span></pre>
</div>
@@ -1009,11 +1043,11 @@
<div class="method-source-code" id="exec_action_object-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 488</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 515</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_action_object</span>(<span class="ruby-identifier">action</span>)
<span class="ruby-comment"># Inject built-in variables</span>
<span class="ruby-identifier">file</span> = <span class="ruby-identifier">action</span>.<span class="ruby-identifier">file</span>
<span class="ruby-identifier">dir</span> = (<span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span> <span class="ruby-identifier">file</span>) <span class="ruby-operator">?</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">file</span>) <span class="ruby-operator">:</span> <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>
<span class="ruby-ivar">@variables</span>[<span class="ruby-string">'__FILE__'</span>] = <span class="ruby-identifier">file</span>
@@ -1053,11 +1087,11 @@
<div class="method-source-code" id="exec_file-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 277</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 304</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">exec_file</span>(<span class="ruby-identifier">file</span>)
<span class="ruby-ivar">@parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">file</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">file</span>, <span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">_exec_parsed_action</span>(<span class="ruby-identifier">action</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">text</span>, <span class="ruby-keyword">true</span>, <span class="ruby-identifier">file</span>, <span class="ruby-identifier">line</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
@@ -1095,11 +1129,11 @@
<div class="method-source-code" id="get_action-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 450</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 477</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_action</span>(<span class="ruby-identifier">action</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>)
<span class="ruby-keyword">while</span> (<span class="ruby-identifier">alias_action</span> = <span class="ruby-ivar">@aliases</span>[<span class="ruby-identifier">action</span>])
<span class="ruby-identifier">action</span> = <span class="ruby-identifier">alias_action</span>[<span class="ruby-value">:action</span>]
<span class="ruby-identifier">args</span> = <span class="ruby-identifier">alias_action</span>[<span class="ruby-value">:args</span>].<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</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">gsub</span>(<span class="ruby-regexp">/\$\{(\d+)(\*q?)?\}/</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">match</span><span class="ruby-operator">|</span>
@@ -1169,11 +1203,11 @@
<div class="method-source-code" id="handle_errors-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 302</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 329</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">handle_errors</span>(<span class="ruby-identifier">break_into_debug</span> = <span class="ruby-keyword">false</span>, <span class="ruby-identifier">exit_on_error</span> = <span class="ruby-keyword">true</span>)
<span class="ruby-keyword">yield</span>
<span class="ruby-keyword">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
<span class="ruby-keyword">if</span> <span class="ruby-ivar">@logger</span>
<span class="ruby-ivar">@logger</span>.<span class="ruby-identifier">log</span> <span class="ruby-node">"#{e.message}\n"</span>, <span class="ruby-value">:error</span>
@@ -1236,11 +1270,11 @@
<div class="method-source-code" id="with_driver_timeout-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 366</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 393</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">with_driver_timeout</span>(<span class="ruby-identifier">timeout</span>)
<span class="ruby-identifier">current</span> = <span class="ruby-ivar">@driver_timeout</span>
<span class="ruby-ivar">@driver</span>.<span class="ruby-identifier">manage</span>.<span class="ruby-identifier">timeouts</span>.<span class="ruby-identifier">implicit_wait</span> = <span class="ruby-identifier">timeout</span>
<span class="ruby-keyword">yield</span>
<span class="ruby-keyword">ensure</span>
@@ -1285,11 +1319,11 @@
<div class="method-source-code" id="with_timeout-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 338</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 365</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">with_timeout</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">error_types</span>)
<span class="ruby-identifier">stime</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">new</span>
<span class="ruby-identifier">timeout</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">stime</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@variables</span>[<span class="ruby-string">'__TIMEOUT__'</span>]
<span class="ruby-keyword">yield</span>
<span class="ruby-keyword">rescue</span> <span class="ruby-operator">*</span><span class="ruby-identifier">error_types</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
@@ -1366,11 +1400,11 @@
<div class="method-source-code" id="action_args-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 518</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 545</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">action_args</span>(<span class="ruby-identifier">action</span>)
<span class="ruby-identifier">action</span> <span class="ruby-operator">+=</span> <span class="ruby-string">'_action'</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">_action_methods</span>.<span class="ruby-identifier">include?</span> <span class="ruby-identifier">action</span>
<span class="ruby-constant">Action</span>.<span class="ruby-identifier">public_instance_method</span>(<span class="ruby-identifier">action</span>).<span class="ruby-identifier">parameters</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">att</span>, <span class="ruby-identifier">name</span><span class="ruby-operator">|</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span> }
<span class="ruby-keyword">end</span></pre>
</div>
@@ -1406,11 +1440,11 @@
<div class="method-source-code" id="actions-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 508</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 535</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">actions</span>
<span class="ruby-identifier">_action_methods</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/_action$/</span>, <span class="ruby-string">''</span>) }
<span class="ruby-keyword">end</span></pre>
</div>
@@ -1445,11 +1479,11 @@
<div class="method-source-code" id="loggers-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 547</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 574</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">loggers</span>
<span class="ruby-constant">Loggers</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">l</span><span class="ruby-operator">|</span> <span class="ruby-identifier">l</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/logger$/</span>, <span class="ruby-string">''</span>) }
<span class="ruby-keyword">end</span></pre>
</div>
@@ -1487,11 +1521,11 @@
<div class="method-source-code" id="max_action_name_size-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 571</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 598</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">max_action_name_size</span>
<span class="ruby-identifier">actions</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value">0</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-identifier">s</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">a</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">s</span> }
<span class="ruby-keyword">end</span></pre>
</div>
@@ -1526,11 +1560,11 @@
<div class="method-source-code" id="parsers-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 557</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 584</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">parsers</span>
(<span class="ruby-constant">Parser</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</span>) <span class="ruby-operator">-</span> <span class="ruby-constant">ParserModule</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</span>))
.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_s</span> }
<span class="ruby-keyword">end</span></pre>
</div>
@@ -1570,11 +1604,11 @@
<div class="method-source-code" id="selectors-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 533</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 560</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">selectors</span>(<span class="ruby-identifier">include_standard_selectors</span> = <span class="ruby-keyword">true</span>)
<span class="ruby-identifier">ret</span> = <span class="ruby-constant">Selector</span>.<span class="ruby-identifier">public_instance_methods</span>(<span class="ruby-keyword">false</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">to_s</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp">/_selector$/</span>, <span class="ruby-string">''</span>) }
<span class="ruby-keyword">if</span> <span class="ruby-identifier">include_standard_selectors</span>
<span class="ruby-identifier">ret</span> <span class="ruby-operator">+=</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">SearchContext</span><span class="ruby-operator">::</span><span class="ruby-constant">FINDERS</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span> }
<span class="ruby-keyword">end</span>
@@ -1652,11 +1686,11 @@
<div class="method-source-code" id="expand-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 592</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 619</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">expand</span>(<span class="ruby-identifier">s</span>)
<span class="ruby-identifier">result</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-identifier">s</span>) <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span>,<span class="ruby-identifier">kv</span><span class="ruby-operator">|</span>
<span class="ruby-identifier">s</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/\$\{#{kv[0]}\}/</span>, <span class="ruby-identifier">kv</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">to_s</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-identifier">result</span> = <span class="ruby-identifier">expand</span>(<span class="ruby-identifier">result</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">s</span>
@@ -1705,10 +1739,10 @@
<div class="method-source-code" id="with_vars-source">
- <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 615</span>
+ <pre><span class="ruby-comment"># File lib/bauxite/core/context.rb, line 642</span>
<span class="ruby-keyword">def</span> <span class="ruby-identifier">with_vars</span>(<span class="ruby-identifier">vars</span>)
<span class="ruby-identifier">current</span> = <span class="ruby-ivar">@variables</span>
<span class="ruby-ivar">@variables</span> = <span class="ruby-ivar">@variables</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-identifier">vars</span>)
<span class="ruby-keyword">yield</span>
<span class="ruby-keyword">ensure</span>