./coverage/index.html in sinatra-param-1.1.0 vs ./coverage/index.html in sinatra-param-1.1.1

- old
+ new

@@ -12,31 +12,31 @@ <body> <div id="loading"> <img src="./assets/0.7.1/loading.gif" alt="loading"/> </div> <div id="wrapper" style="display:none;"> - <div class="timestamp">Generated <abbr class="timeago" title="2013-12-02T12:12:13-08:00">2013-12-02T12:12:13-08:00</abbr></div> + <div class="timestamp">Generated <abbr class="timeago" title="2014-02-18T09:42:37-08:00">2014-02-18T09:42:37-08:00</abbr></div> <ul class="group_tabs"></ul> <div id="content"> <div class="file_list_container" id="AllFiles"> <h2> <span class="group_name">All Files</span> - (<span class="covered_percent"><span class="green">100.0%</span></span> + (<span class="covered_percent"><span class="green">97.1%</span></span> covered at <span class="covered_strength"> <span class="green"> - 18.4 + 17.6 </span> </span> hits/line) </h2> <a name="AllFiles"></a> <div> <b>1</b> files in total. - <b>64</b> relevant lines. - <span class="green"><b>64</b> lines covered</span> and - <span class="red"><b>0</b> lines missed </span> + <b>69</b> relevant lines. + <span class="green"><b>67</b> lines covered</span> and + <span class="red"><b>2</b> lines missed </span> </div> <table class="file_list"> <thead> <tr> <th>File</th> @@ -50,16 +50,16 @@ </thead> <tbody> <tr> <td class="strong"><a href="#0f7926ededdfd8418773c107837b6dc4182659b8" class="src_link" title="lib/sinatra/param.rb">lib/sinatra/param.rb</a></td> - <td class="green strong">100.0 %</td> - <td>112</td> - <td>64</td> - <td>64</td> - <td>0</td> - <td>18.4</td> + <td class="green strong">97.1 %</td> + <td>119</td> + <td>69</td> + <td>67</td> + <td>2</td> + <td>17.6</td> </tr> </tbody> </table> </div> @@ -77,15 +77,15 @@ <div class="source_files"> <div class="source_table" id="0f7926ededdfd8418773c107837b6dc4182659b8"> <div class="header"> <h3>lib/sinatra/param.rb</h3> - <h4><span class="green">100.0 %</span> covered</h4> + <h4><span class="green">97.1 %</span> covered</h4> <div> - <b>64</b> relevant lines. - <span class="green"><b>64</b> lines covered</span> and - <span class="red"><b>0</b> lines missed.</span> + <b>69</b> relevant lines. + <span class="green"><b>67</b> lines covered</span> and + <span class="red"><b>2</b> lines missed.</span> </div> </div> <pre> <ol> @@ -145,619 +145,661 @@ </li> <li class="covered" data-hits="1" data-linenumber="10"> <span class="hits">1</span> - <code class="ruby"> class InvalidParameterError &lt; StandardError; end</code> + <code class="ruby"> class InvalidParameterError &lt; StandardError</code> </li> - <li class="never" data-hits="" data-linenumber="11"> + <li class="covered" data-hits="1" data-linenumber="11"> + <span class="hits">1</span> + <code class="ruby"> attr_accessor :param, :options</code> + </li> + + <li class="never" data-hits="" data-linenumber="12"> + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="13"> + + <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="12"> + <li class="covered" data-hits="1" data-linenumber="14"> <span class="hits">1</span> <code class="ruby"> def param(name, type, options = {})</code> </li> - <li class="covered" data-hits="76" data-linenumber="13"> - <span class="hits">76</span> + <li class="covered" data-hits="77" data-linenumber="15"> + <span class="hits">77</span> <code class="ruby"> name = name.to_s</code> </li> - <li class="never" data-hits="" data-linenumber="14"> + <li class="never" data-hits="" data-linenumber="16"> <code class="ruby"></code> </li> - <li class="covered" data-hits="76" data-linenumber="15"> - <span class="hits">76</span> + <li class="covered" data-hits="77" data-linenumber="17"> + <span class="hits">77</span> <code class="ruby"> return unless params.member?(name) or present?(options[:default]) or options[:required]</code> </li> - <li class="never" data-hits="" data-linenumber="16"> + <li class="never" data-hits="" data-linenumber="18"> <code class="ruby"></code> </li> - <li class="covered" data-hits="67" data-linenumber="17"> - <span class="hits">67</span> + <li class="covered" data-hits="68" data-linenumber="19"> + <span class="hits">68</span> <code class="ruby"> begin</code> </li> - <li class="covered" data-hits="67" data-linenumber="18"> - <span class="hits">67</span> + <li class="covered" data-hits="68" data-linenumber="20"> + <span class="hits">68</span> <code class="ruby"> params[name] = coerce(params[name], type, options)</code> </li> - <li class="covered" data-hits="67" data-linenumber="19"> - <span class="hits">67</span> + <li class="covered" data-hits="68" data-linenumber="21"> + <span class="hits">68</span> - <code class="ruby"> params[name] = options[:default] if params[name].nil? and options[:default]</code> + <code class="ruby"> params[name] = (options[:default].call if options[:default].is_a?(Proc)) || options[:default] if params[name].nil? and options[:default]</code> </li> - <li class="covered" data-hits="67" data-linenumber="20"> - <span class="hits">67</span> + <li class="covered" data-hits="68" data-linenumber="22"> + <span class="hits">68</span> <code class="ruby"> params[name] = options[:transform].to_proc.call(params[name]) if options[:transform]</code> </li> - <li class="covered" data-hits="67" data-linenumber="21"> - <span class="hits">67</span> + <li class="covered" data-hits="68" data-linenumber="23"> + <span class="hits">68</span> <code class="ruby"> validate!(params[name], options)</code> </li> - <li class="never" data-hits="" data-linenumber="22"> + <li class="covered" data-hits="13" data-linenumber="24"> + <span class="hits">13</span> + <code class="ruby"> rescue InvalidParameterError =&gt; exception</code> + </li> + + <li class="covered" data-hits="13" data-linenumber="25"> + <span class="hits">13</span> - <code class="ruby"> rescue</code> + <code class="ruby"> if options[:raise] or (settings.raise_sinatra_param_exceptions rescue false)</code> </li> - <li class="covered" data-hits="13" data-linenumber="23"> + <li class="missed" data-hits="0" data-linenumber="26"> + + + <code class="ruby"> exception.param, exception.options = name, options</code> + </li> + + <li class="missed" data-hits="0" data-linenumber="27"> + + + <code class="ruby"> raise exception</code> + </li> + + <li class="never" data-hits="" data-linenumber="28"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="29"> + + + <code class="ruby"></code> + </li> + + <li class="covered" data-hits="13" data-linenumber="30"> <span class="hits">13</span> - <code class="ruby"> error = &quot;Invalid parameter, #{name}&quot;</code> + <code class="ruby"> error = &quot;Invalid Parameter: #{name}&quot;</code> </li> - <li class="covered" data-hits="13" data-linenumber="24"> + <li class="covered" data-hits="13" data-linenumber="31"> <span class="hits">13</span> <code class="ruby"> if content_type and content_type.match(mime_type(:json))</code> </li> - <li class="covered" data-hits="13" data-linenumber="25"> + <li class="covered" data-hits="13" data-linenumber="32"> <span class="hits">13</span> - <code class="ruby"> error = {message: error}.to_json</code> + <code class="ruby"> error = {message: error, errors: {name =&gt; exception.message}}.to_json</code> </li> - <li class="never" data-hits="" data-linenumber="26"> + <li class="never" data-hits="" data-linenumber="33"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="27"> + <li class="never" data-hits="" data-linenumber="34"> <code class="ruby"></code> </li> - <li class="covered" data-hits="13" data-linenumber="28"> + <li class="covered" data-hits="13" data-linenumber="35"> <span class="hits">13</span> <code class="ruby"> halt 400, error</code> </li> - <li class="never" data-hits="" data-linenumber="29"> + <li class="never" data-hits="" data-linenumber="36"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="30"> + <li class="never" data-hits="" data-linenumber="37"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="31"> + <li class="never" data-hits="" data-linenumber="38"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="32"> + <li class="covered" data-hits="1" data-linenumber="39"> <span class="hits">1</span> <code class="ruby"> def one_of(*names)</code> </li> - <li class="covered" data-hits="6" data-linenumber="33"> + <li class="covered" data-hits="6" data-linenumber="40"> <span class="hits">6</span> <code class="ruby"> count = 0</code> </li> - <li class="covered" data-hits="6" data-linenumber="34"> + <li class="covered" data-hits="6" data-linenumber="41"> <span class="hits">6</span> <code class="ruby"> names.each do |name|</code> </li> - <li class="covered" data-hits="16" data-linenumber="35"> + <li class="covered" data-hits="16" data-linenumber="42"> <span class="hits">16</span> <code class="ruby"> if params[name] and present?(params[name])</code> </li> - <li class="covered" data-hits="9" data-linenumber="36"> + <li class="covered" data-hits="9" data-linenumber="43"> <span class="hits">9</span> <code class="ruby"> count += 1</code> </li> - <li class="covered" data-hits="9" data-linenumber="37"> + <li class="covered" data-hits="9" data-linenumber="44"> <span class="hits">9</span> <code class="ruby"> next unless count &gt; 1</code> </li> - <li class="never" data-hits="" data-linenumber="38"> + <li class="never" data-hits="" data-linenumber="45"> <code class="ruby"></code> </li> - <li class="covered" data-hits="3" data-linenumber="39"> + <li class="covered" data-hits="3" data-linenumber="46"> <span class="hits">3</span> <code class="ruby"> error = &quot;Parameters #{names.join(&#39;, &#39;)} are mutually exclusive&quot;</code> </li> - <li class="covered" data-hits="3" data-linenumber="40"> + <li class="covered" data-hits="3" data-linenumber="47"> <span class="hits">3</span> <code class="ruby"> if content_type and content_type.match(mime_type(:json))</code> </li> - <li class="covered" data-hits="3" data-linenumber="41"> + <li class="covered" data-hits="3" data-linenumber="48"> <span class="hits">3</span> <code class="ruby"> error = {message: error}.to_json</code> </li> - <li class="never" data-hits="" data-linenumber="42"> + <li class="never" data-hits="" data-linenumber="49"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="43"> + <li class="never" data-hits="" data-linenumber="50"> <code class="ruby"></code> </li> - <li class="covered" data-hits="3" data-linenumber="44"> + <li class="covered" data-hits="3" data-linenumber="51"> <span class="hits">3</span> <code class="ruby"> halt 400, error</code> </li> - <li class="never" data-hits="" data-linenumber="45"> + <li class="never" data-hits="" data-linenumber="52"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="46"> + <li class="never" data-hits="" data-linenumber="53"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="47"> + <li class="never" data-hits="" data-linenumber="54"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="48"> + <li class="never" data-hits="" data-linenumber="55"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="49"> + <li class="covered" data-hits="1" data-linenumber="56"> <span class="hits">1</span> <code class="ruby"> private</code> </li> - <li class="never" data-hits="" data-linenumber="50"> + <li class="never" data-hits="" data-linenumber="57"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="51"> + <li class="covered" data-hits="1" data-linenumber="58"> <span class="hits">1</span> <code class="ruby"> def coerce(param, type, options = {})</code> </li> - <li class="covered" data-hits="67" data-linenumber="52"> - <span class="hits">67</span> + <li class="covered" data-hits="68" data-linenumber="59"> + <span class="hits">68</span> <code class="ruby"> return nil if param.nil?</code> </li> - <li class="covered" data-hits="64" data-linenumber="53"> + <li class="covered" data-hits="64" data-linenumber="60"> <span class="hits">64</span> <code class="ruby"> return param if (param.is_a?(type) rescue false)</code> </li> - <li class="covered" data-hits="39" data-linenumber="54"> + <li class="covered" data-hits="39" data-linenumber="61"> <span class="hits">39</span> <code class="ruby"> return Integer(param) if type == Integer</code> </li> - <li class="covered" data-hits="30" data-linenumber="55"> + <li class="covered" data-hits="30" data-linenumber="62"> <span class="hits">30</span> <code class="ruby"> return Float(param) if type == Float</code> </li> - <li class="covered" data-hits="29" data-linenumber="56"> + <li class="covered" data-hits="29" data-linenumber="63"> <span class="hits">29</span> <code class="ruby"> return String(param) if type == String</code> </li> - <li class="covered" data-hits="28" data-linenumber="57"> + <li class="covered" data-hits="28" data-linenumber="64"> <span class="hits">28</span> <code class="ruby"> return Time.parse(param) if type == Time</code> </li> - <li class="covered" data-hits="27" data-linenumber="58"> + <li class="covered" data-hits="27" data-linenumber="65"> <span class="hits">27</span> <code class="ruby"> return Date.parse(param) if type == Date</code> </li> - <li class="covered" data-hits="26" data-linenumber="59"> + <li class="covered" data-hits="26" data-linenumber="66"> <span class="hits">26</span> <code class="ruby"> return DateTime.parse(param) if type == DateTime</code> </li> - <li class="covered" data-hits="25" data-linenumber="60"> + <li class="covered" data-hits="25" data-linenumber="67"> <span class="hits">25</span> <code class="ruby"> return Array(param.split(options[:delimiter] || &quot;,&quot;)) if type == Array</code> </li> - <li class="covered" data-hits="25" data-linenumber="61"> + <li class="covered" data-hits="25" data-linenumber="68"> <span class="hits">25</span> <code class="ruby"> return Hash[param.split(options[:delimiter] || &quot;,&quot;).map{|c| c.split(options[:separator] || &quot;:&quot;)}] if type == Hash</code> </li> - <li class="covered" data-hits="21" data-linenumber="62"> + <li class="covered" data-hits="21" data-linenumber="69"> <span class="hits">21</span> <code class="ruby"> return (/(false|f|no|n|0)$/i === param.to_s ? false : (/(true|t|yes|y|1)$/i === param.to_s ? true : nil)) if type == TrueClass || type == FalseClass || type == Boolean</code> </li> - <li class="never" data-hits="" data-linenumber="63"> + <li class="never" data-hits="" data-linenumber="70"> <code class="ruby"> return nil</code> </li> - <li class="never" data-hits="" data-linenumber="64"> + <li class="never" data-hits="" data-linenumber="71"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="65"> + <li class="never" data-hits="" data-linenumber="72"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="66"> + <li class="covered" data-hits="1" data-linenumber="73"> <span class="hits">1</span> <code class="ruby"> def validate!(param, options)</code> </li> - <li class="covered" data-hits="67" data-linenumber="67"> - <span class="hits">67</span> + <li class="covered" data-hits="68" data-linenumber="74"> + <span class="hits">68</span> <code class="ruby"> options.each do |key, value|</code> </li> - <li class="covered" data-hits="38" data-linenumber="68"> - <span class="hits">38</span> + <li class="covered" data-hits="39" data-linenumber="75"> + <span class="hits">39</span> <code class="ruby"> case key</code> </li> - <li class="never" data-hits="" data-linenumber="69"> + <li class="never" data-hits="" data-linenumber="76"> <code class="ruby"> when :required</code> </li> - <li class="covered" data-hits="3" data-linenumber="70"> + <li class="covered" data-hits="3" data-linenumber="77"> <span class="hits">3</span> - <code class="ruby"> raise InvalidParameterError if value &amp;&amp; param.nil?</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter is required&quot; if value &amp;&amp; param.nil?</code> </li> - <li class="never" data-hits="" data-linenumber="71"> + <li class="never" data-hits="" data-linenumber="78"> <code class="ruby"> when :blank</code> </li> - <li class="never" data-hits="" data-linenumber="72"> + <li class="never" data-hits="" data-linenumber="79"> - <code class="ruby"> raise InvalidParameterError if !value &amp;&amp; case param</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot be blank&quot; if !value &amp;&amp; case param</code> </li> - <li class="never" data-hits="" data-linenumber="73"> + <li class="never" data-hits="" data-linenumber="80"> <code class="ruby"> when String</code> </li> - <li class="covered" data-hits="1" data-linenumber="74"> + <li class="covered" data-hits="1" data-linenumber="81"> <span class="hits">1</span> <code class="ruby"> !(/\S/ === param)</code> </li> - <li class="never" data-hits="" data-linenumber="75"> + <li class="never" data-hits="" data-linenumber="82"> <code class="ruby"> when Array, Hash</code> </li> - <li class="covered" data-hits="2" data-linenumber="76"> + <li class="covered" data-hits="2" data-linenumber="83"> <span class="hits">2</span> <code class="ruby"> param.empty?</code> </li> - <li class="never" data-hits="" data-linenumber="77"> + <li class="never" data-hits="" data-linenumber="84"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="1" data-linenumber="78"> + <li class="covered" data-hits="1" data-linenumber="85"> <span class="hits">1</span> <code class="ruby"> param.nil?</code> </li> - <li class="covered" data-hits="5" data-linenumber="79"> + <li class="covered" data-hits="5" data-linenumber="86"> <span class="hits">5</span> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="80"> + <li class="never" data-hits="" data-linenumber="87"> <code class="ruby"> when :is</code> </li> - <li class="covered" data-hits="2" data-linenumber="81"> + <li class="covered" data-hits="2" data-linenumber="88"> <span class="hits">2</span> - <code class="ruby"> raise InvalidParameterError unless value === param</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be #{value}&quot; unless value === param</code> </li> - <li class="never" data-hits="" data-linenumber="82"> + <li class="never" data-hits="" data-linenumber="89"> <code class="ruby"> when :in, :within, :range</code> </li> - <li class="never" data-hits="" data-linenumber="83"> + <li class="never" data-hits="" data-linenumber="90"> - <code class="ruby"> raise InvalidParameterError unless param.nil? || case value</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be within #{value}&quot; unless param.nil? || case value</code> </li> - <li class="never" data-hits="" data-linenumber="84"> + <li class="never" data-hits="" data-linenumber="91"> <code class="ruby"> when Range</code> </li> - <li class="covered" data-hits="4" data-linenumber="85"> + <li class="covered" data-hits="4" data-linenumber="92"> <span class="hits">4</span> <code class="ruby"> value.include?(param)</code> </li> - <li class="never" data-hits="" data-linenumber="86"> + <li class="never" data-hits="" data-linenumber="93"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="2" data-linenumber="87"> + <li class="covered" data-hits="2" data-linenumber="94"> <span class="hits">2</span> <code class="ruby"> Array(value).include?(param)</code> </li> - <li class="covered" data-hits="6" data-linenumber="88"> + <li class="covered" data-hits="6" data-linenumber="95"> <span class="hits">6</span> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="89"> + <li class="never" data-hits="" data-linenumber="96"> <code class="ruby"> when :min</code> </li> - <li class="covered" data-hits="2" data-linenumber="90"> + <li class="covered" data-hits="2" data-linenumber="97"> <span class="hits">2</span> - <code class="ruby"> raise InvalidParameterError unless param.nil? || value &lt;= param</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot be less than #{value}&quot; unless param.nil? || value &lt;= param</code> </li> - <li class="never" data-hits="" data-linenumber="91"> + <li class="never" data-hits="" data-linenumber="98"> <code class="ruby"> when :max</code> </li> - <li class="covered" data-hits="2" data-linenumber="92"> + <li class="covered" data-hits="2" data-linenumber="99"> <span class="hits">2</span> - <code class="ruby"> raise InvalidParameterError unless param.nil? || value &gt;= param</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot be greater than #{value}&quot; unless param.nil? || value &gt;= param</code> </li> - <li class="never" data-hits="" data-linenumber="93"> + <li class="never" data-hits="" data-linenumber="100"> <code class="ruby"> when :min_length</code> </li> - <li class="covered" data-hits="1" data-linenumber="94"> + <li class="covered" data-hits="1" data-linenumber="101"> <span class="hits">1</span> - <code class="ruby"> raise InvalidParameterError unless param.nil? || value &lt;= param.length</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot have length less than #{value}&quot; unless param.nil? || value &lt;= param.length</code> </li> - <li class="never" data-hits="" data-linenumber="95"> + <li class="never" data-hits="" data-linenumber="102"> <code class="ruby"> when :max_length</code> </li> - <li class="covered" data-hits="3" data-linenumber="96"> + <li class="covered" data-hits="3" data-linenumber="103"> <span class="hits">3</span> - <code class="ruby"> raise InvalidParameterError unless param.nil? || value &gt;= param.length</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot have length greater than #{value}&quot; unless param.nil? || value &gt;= param.length</code> </li> - <li class="never" data-hits="" data-linenumber="97"> + <li class="never" data-hits="" data-linenumber="104"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="98"> + <li class="never" data-hits="" data-linenumber="105"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="99"> + <li class="never" data-hits="" data-linenumber="106"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="100"> + <li class="never" data-hits="" data-linenumber="107"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="101"> + <li class="never" data-hits="" data-linenumber="108"> <code class="ruby"> # ActiveSupport #present? and #blank? without patching Object</code> </li> - <li class="covered" data-hits="1" data-linenumber="102"> + <li class="covered" data-hits="1" data-linenumber="109"> <span class="hits">1</span> <code class="ruby"> def present?(object)</code> </li> - <li class="covered" data-hits="21" data-linenumber="103"> - <span class="hits">21</span> + <li class="covered" data-hits="22" data-linenumber="110"> + <span class="hits">22</span> <code class="ruby"> !blank?(object)</code> </li> - <li class="never" data-hits="" data-linenumber="104"> + <li class="never" data-hits="" data-linenumber="111"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="105"> + <li class="never" data-hits="" data-linenumber="112"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="106"> + <li class="covered" data-hits="1" data-linenumber="113"> <span class="hits">1</span> <code class="ruby"> def blank?(object)</code> </li> - <li class="covered" data-hits="21" data-linenumber="107"> - <span class="hits">21</span> + <li class="covered" data-hits="22" data-linenumber="114"> + <span class="hits">22</span> <code class="ruby"> object.respond_to?(:empty?) ? object.empty? : !object</code> </li> - <li class="never" data-hits="" data-linenumber="108"> + <li class="never" data-hits="" data-linenumber="115"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="109"> + <li class="never" data-hits="" data-linenumber="116"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="110"> + <li class="never" data-hits="" data-linenumber="117"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="111"> + <li class="covered" data-hits="1" data-linenumber="118"> <span class="hits">1</span> <code class="ruby"> helpers Param</code> </li> - <li class="never" data-hits="" data-linenumber="112"> + <li class="never" data-hits="" data-linenumber="119"> <code class="ruby">end</code> </li>