./coverage/index.html in sinatra-param-1.2.0 vs ./coverage/index.html in sinatra-param-1.2.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="2014-02-18T09:42:37-08:00">2014-02-18T09:42:37-08:00</abbr></div> + <div class="timestamp">Generated <abbr class="timeago" title="2014-04-05T12:42:49-07:00">2014-04-05T12:42:49-07: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">97.1%</span></span> + (<span class="covered_percent"><span class="green">100.0%</span></span> covered at <span class="covered_strength"> <span class="green"> - 17.6 + 19.9 </span> </span> hits/line) </h2> <a name="AllFiles"></a> <div> <b>1</b> files in total. - <b>69</b> relevant lines. - <span class="green"><b>67</b> lines covered</span> and - <span class="red"><b>2</b> lines missed </span> + <b>74</b> relevant lines. + <span class="green"><b>74</b> lines covered</span> and + <span class="red"><b>0</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">97.1 %</td> - <td>119</td> - <td>69</td> - <td>67</td> - <td>2</td> - <td>17.6</td> + <td class="green strong">100.0 %</td> + <td>126</td> + <td>74</td> + <td>74</td> + <td>0</td> + <td>19.9</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">97.1 %</span> covered</h4> + <h4><span class="green">100.0 %</span> covered</h4> <div> - <b>69</b> relevant lines. - <span class="green"><b>67</b> lines covered</span> and - <span class="red"><b>2</b> lines missed.</span> + <b>74</b> relevant lines. + <span class="green"><b>74</b> lines covered</span> and + <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> <ol> @@ -103,17 +103,17 @@ </li> <li class="covered" data-hits="1" data-linenumber="3"> <span class="hits">1</span> - <code class="ruby">require &#39;time&#39;</code> + <code class="ruby">require &#39;date&#39;</code> </li> <li class="covered" data-hits="1" data-linenumber="4"> <span class="hits">1</span> - <code class="ruby">require &#39;date&#39;</code> + <code class="ruby">require &#39;time&#39;</code> </li> <li class="never" data-hits="" data-linenumber="5"> @@ -172,85 +172,85 @@ <span class="hits">1</span> <code class="ruby"> def param(name, type, options = {})</code> </li> - <li class="covered" data-hits="77" data-linenumber="15"> - <span class="hits">77</span> + <li class="covered" data-hits="88" data-linenumber="15"> + <span class="hits">88</span> <code class="ruby"> name = name.to_s</code> </li> <li class="never" data-hits="" data-linenumber="16"> <code class="ruby"></code> </li> - <li class="covered" data-hits="77" data-linenumber="17"> - <span class="hits">77</span> + <li class="covered" data-hits="88" data-linenumber="17"> + <span class="hits">88</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="18"> <code class="ruby"></code> </li> - <li class="covered" data-hits="68" data-linenumber="19"> - <span class="hits">68</span> + <li class="covered" data-hits="79" data-linenumber="19"> + <span class="hits">79</span> <code class="ruby"> begin</code> </li> - <li class="covered" data-hits="68" data-linenumber="20"> - <span class="hits">68</span> + <li class="covered" data-hits="79" data-linenumber="20"> + <span class="hits">79</span> <code class="ruby"> params[name] = coerce(params[name], type, options)</code> </li> - <li class="covered" data-hits="68" data-linenumber="21"> - <span class="hits">68</span> + <li class="covered" data-hits="74" data-linenumber="21"> + <span class="hits">74</span> <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="68" data-linenumber="22"> - <span class="hits">68</span> + <li class="covered" data-hits="74" data-linenumber="22"> + <span class="hits">74</span> <code class="ruby"> params[name] = options[:transform].to_proc.call(params[name]) if options[:transform]</code> </li> - <li class="covered" data-hits="68" data-linenumber="23"> - <span class="hits">68</span> + <li class="covered" data-hits="74" data-linenumber="23"> + <span class="hits">74</span> <code class="ruby"> validate!(params[name], options)</code> </li> - <li class="covered" data-hits="13" data-linenumber="24"> - <span class="hits">13</span> + <li class="covered" data-hits="21" data-linenumber="24"> + <span class="hits">21</span> <code class="ruby"> rescue InvalidParameterError =&gt; exception</code> </li> - <li class="covered" data-hits="13" data-linenumber="25"> - <span class="hits">13</span> + <li class="covered" data-hits="21" data-linenumber="25"> + <span class="hits">21</span> <code class="ruby"> if options[:raise] or (settings.raise_sinatra_param_exceptions rescue false)</code> </li> - <li class="missed" data-hits="0" data-linenumber="26"> + <li class="covered" data-hits="1" data-linenumber="26"> + <span class="hits">1</span> - <code class="ruby"> exception.param, exception.options = name, options</code> </li> - <li class="missed" data-hits="0" data-linenumber="27"> + <li class="covered" data-hits="1" data-linenumber="27"> + <span class="hits">1</span> - <code class="ruby"> raise exception</code> </li> <li class="never" data-hits="" data-linenumber="28"> @@ -262,24 +262,24 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="13" data-linenumber="30"> - <span class="hits">13</span> + <li class="covered" data-hits="20" data-linenumber="30"> + <span class="hits">20</span> <code class="ruby"> error = &quot;Invalid Parameter: #{name}&quot;</code> </li> - <li class="covered" data-hits="13" data-linenumber="31"> - <span class="hits">13</span> + <li class="covered" data-hits="20" data-linenumber="31"> + <span class="hits">20</span> <code class="ruby"> if content_type and content_type.match(mime_type(:json))</code> </li> - <li class="covered" data-hits="13" data-linenumber="32"> - <span class="hits">13</span> + <li class="covered" data-hits="20" data-linenumber="32"> + <span class="hits">20</span> <code class="ruby"> error = {message: error, errors: {name =&gt; exception.message}}.to_json</code> </li> <li class="never" data-hits="" data-linenumber="33"> @@ -292,12 +292,12 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="13" data-linenumber="35"> - <span class="hits">13</span> + <li class="covered" data-hits="20" data-linenumber="35"> + <span class="hits">20</span> <code class="ruby"> halt 400, error</code> </li> <li class="never" data-hits="" data-linenumber="36"> @@ -436,370 +436,412 @@ <span class="hits">1</span> <code class="ruby"> def coerce(param, type, options = {})</code> </li> - <li class="covered" data-hits="68" data-linenumber="59"> - <span class="hits">68</span> + <li class="covered" data-hits="79" data-linenumber="59"> + <span class="hits">79</span> - <code class="ruby"> return nil if param.nil?</code> + <code class="ruby"> begin</code> </li> - <li class="covered" data-hits="64" data-linenumber="60"> - <span class="hits">64</span> + <li class="covered" data-hits="79" data-linenumber="60"> + <span class="hits">79</span> - <code class="ruby"> return param if (param.is_a?(type) rescue false)</code> + <code class="ruby"> return nil if param.nil?</code> </li> - <li class="covered" data-hits="39" data-linenumber="61"> - <span class="hits">39</span> + <li class="covered" data-hits="74" data-linenumber="61"> + <span class="hits">74</span> - <code class="ruby"> return Integer(param) if type == Integer</code> + <code class="ruby"> return param if (param.is_a?(type) rescue false)</code> </li> - <li class="covered" data-hits="30" data-linenumber="62"> - <span class="hits">30</span> + <li class="covered" data-hits="46" data-linenumber="62"> + <span class="hits">46</span> - <code class="ruby"> return Float(param) if type == Float</code> + <code class="ruby"> return Integer(param) if type == Integer</code> </li> - <li class="covered" data-hits="29" data-linenumber="63"> - <span class="hits">29</span> + <li class="covered" data-hits="35" data-linenumber="63"> + <span class="hits">35</span> - <code class="ruby"> return String(param) if type == String</code> + <code class="ruby"> return Float(param) if type == Float</code> </li> - <li class="covered" data-hits="28" data-linenumber="64"> - <span class="hits">28</span> + <li class="covered" data-hits="33" data-linenumber="64"> + <span class="hits">33</span> - <code class="ruby"> return Time.parse(param) if type == Time</code> + <code class="ruby"> return String(param) if type == String</code> </li> - <li class="covered" data-hits="27" data-linenumber="65"> - <span class="hits">27</span> + <li class="covered" data-hits="32" data-linenumber="65"> + <span class="hits">32</span> - <code class="ruby"> return Date.parse(param) if type == Date</code> + <code class="ruby"> return Date.parse(param) if type == Date</code> </li> - <li class="covered" data-hits="26" data-linenumber="66"> - <span class="hits">26</span> + <li class="covered" data-hits="30" data-linenumber="66"> + <span class="hits">30</span> - <code class="ruby"> return DateTime.parse(param) if type == DateTime</code> + <code class="ruby"> return Time.parse(param) if type == Time</code> </li> - <li class="covered" data-hits="25" data-linenumber="67"> - <span class="hits">25</span> + <li class="covered" data-hits="28" data-linenumber="67"> + <span class="hits">28</span> - <code class="ruby"> return Array(param.split(options[:delimiter] || &quot;,&quot;)) if type == Array</code> + <code class="ruby"> return DateTime.parse(param) if type == DateTime</code> </li> - <li class="covered" data-hits="25" data-linenumber="68"> + <li class="covered" data-hits="26" data-linenumber="68"> + <span class="hits">26</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="69"> <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> + <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="69"> + <li class="covered" data-hits="21" data-linenumber="70"> <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> + <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="70"> + <li class="never" data-hits="" data-linenumber="71"> - <code class="ruby"> return nil</code> + <code class="ruby"> return nil</code> </li> - <li class="never" data-hits="" data-linenumber="71"> + <li class="covered" data-hits="5" data-linenumber="72"> + <span class="hits">5</span> + <code class="ruby"> rescue ArgumentError</code> + </li> + + <li class="covered" data-hits="5" data-linenumber="73"> + <span class="hits">5</span> + <code class="ruby"> raise InvalidParameterError, &quot;&#39;#{param}&#39; is not a valid #{type}&quot;</code> + </li> + + <li class="never" data-hits="" data-linenumber="74"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="75"> + + <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="72"> + <li class="never" data-hits="" data-linenumber="76"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="73"> + <li class="covered" data-hits="1" data-linenumber="77"> <span class="hits">1</span> <code class="ruby"> def validate!(param, options)</code> </li> - <li class="covered" data-hits="68" data-linenumber="74"> - <span class="hits">68</span> + <li class="covered" data-hits="74" data-linenumber="78"> + <span class="hits">74</span> <code class="ruby"> options.each do |key, value|</code> </li> - <li class="covered" data-hits="39" data-linenumber="75"> - <span class="hits">39</span> + <li class="covered" data-hits="43" data-linenumber="79"> + <span class="hits">43</span> <code class="ruby"> case key</code> </li> - <li class="never" data-hits="" data-linenumber="76"> + <li class="never" data-hits="" data-linenumber="80"> <code class="ruby"> when :required</code> </li> - <li class="covered" data-hits="3" data-linenumber="77"> - <span class="hits">3</span> + <li class="covered" data-hits="4" data-linenumber="81"> + <span class="hits">4</span> <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="78"> + <li class="never" data-hits="" data-linenumber="82"> <code class="ruby"> when :blank</code> </li> - <li class="never" data-hits="" data-linenumber="79"> + <li class="never" data-hits="" data-linenumber="83"> <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="80"> + <li class="never" data-hits="" data-linenumber="84"> <code class="ruby"> when String</code> </li> - <li class="covered" data-hits="1" data-linenumber="81"> + <li class="covered" data-hits="1" data-linenumber="85"> <span class="hits">1</span> <code class="ruby"> !(/\S/ === param)</code> </li> - <li class="never" data-hits="" data-linenumber="82"> + <li class="never" data-hits="" data-linenumber="86"> <code class="ruby"> when Array, Hash</code> </li> - <li class="covered" data-hits="2" data-linenumber="83"> + <li class="covered" data-hits="2" data-linenumber="87"> <span class="hits">2</span> <code class="ruby"> param.empty?</code> </li> - <li class="never" data-hits="" data-linenumber="84"> + <li class="never" data-hits="" data-linenumber="88"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="1" data-linenumber="85"> + <li class="covered" data-hits="1" data-linenumber="89"> <span class="hits">1</span> <code class="ruby"> param.nil?</code> </li> - <li class="covered" data-hits="5" data-linenumber="86"> + <li class="covered" data-hits="5" data-linenumber="90"> <span class="hits">5</span> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="87"> + <li class="never" data-hits="" data-linenumber="91"> + <code class="ruby"> when :format</code> + </li> + + <li class="covered" data-hits="3" data-linenumber="92"> + <span class="hits">3</span> + + <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be a string if using the format validation&quot; unless param.kind_of?(String)</code> + </li> + + <li class="covered" data-hits="2" data-linenumber="93"> + <span class="hits">2</span> + + <code class="ruby"> raise InvalidParameterError, &quot;Parameter must match format #{value}&quot; unless param =~ value</code> + </li> + + <li class="never" data-hits="" data-linenumber="94"> + + <code class="ruby"> when :is</code> </li> - <li class="covered" data-hits="2" data-linenumber="88"> + <li class="covered" data-hits="2" data-linenumber="95"> <span class="hits">2</span> - <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be #{value}&quot; unless value === param</code> + <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be #{value}&quot; unless param === value</code> </li> - <li class="never" data-hits="" data-linenumber="89"> + <li class="never" data-hits="" data-linenumber="96"> <code class="ruby"> when :in, :within, :range</code> </li> - <li class="never" data-hits="" data-linenumber="90"> + <li class="never" data-hits="" data-linenumber="97"> <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="91"> + <li class="never" data-hits="" data-linenumber="98"> <code class="ruby"> when Range</code> </li> - <li class="covered" data-hits="4" data-linenumber="92"> + <li class="covered" data-hits="4" data-linenumber="99"> <span class="hits">4</span> <code class="ruby"> value.include?(param)</code> </li> - <li class="never" data-hits="" data-linenumber="93"> + <li class="never" data-hits="" data-linenumber="100"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="2" data-linenumber="94"> + <li class="covered" data-hits="2" data-linenumber="101"> <span class="hits">2</span> <code class="ruby"> Array(value).include?(param)</code> </li> - <li class="covered" data-hits="6" data-linenumber="95"> + <li class="covered" data-hits="6" data-linenumber="102"> <span class="hits">6</span> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="96"> + <li class="never" data-hits="" data-linenumber="103"> <code class="ruby"> when :min</code> </li> - <li class="covered" data-hits="2" data-linenumber="97"> + <li class="covered" data-hits="2" data-linenumber="104"> <span class="hits">2</span> <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="98"> + <li class="never" data-hits="" data-linenumber="105"> <code class="ruby"> when :max</code> </li> - <li class="covered" data-hits="2" data-linenumber="99"> + <li class="covered" data-hits="2" data-linenumber="106"> <span class="hits">2</span> <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="100"> + <li class="never" data-hits="" data-linenumber="107"> <code class="ruby"> when :min_length</code> </li> - <li class="covered" data-hits="1" data-linenumber="101"> + <li class="covered" data-hits="1" data-linenumber="108"> <span class="hits">1</span> <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="102"> + <li class="never" data-hits="" data-linenumber="109"> <code class="ruby"> when :max_length</code> </li> - <li class="covered" data-hits="3" data-linenumber="103"> + <li class="covered" data-hits="3" data-linenumber="110"> <span class="hits">3</span> <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="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"> end</code> </li> - <li class="never" data-hits="" data-linenumber="106"> + <li class="never" data-hits="" data-linenumber="113"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="107"> + <li class="never" data-hits="" data-linenumber="114"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="108"> + <li class="never" data-hits="" data-linenumber="115"> <code class="ruby"> # ActiveSupport #present? and #blank? without patching Object</code> </li> - <li class="covered" data-hits="1" data-linenumber="109"> + <li class="covered" data-hits="1" data-linenumber="116"> <span class="hits">1</span> <code class="ruby"> def present?(object)</code> </li> - <li class="covered" data-hits="22" data-linenumber="110"> - <span class="hits">22</span> + <li class="covered" data-hits="23" data-linenumber="117"> + <span class="hits">23</span> <code class="ruby"> !blank?(object)</code> </li> - <li class="never" data-hits="" data-linenumber="111"> + <li class="never" data-hits="" data-linenumber="118"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="112"> + <li class="never" data-hits="" data-linenumber="119"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="113"> + <li class="covered" data-hits="1" data-linenumber="120"> <span class="hits">1</span> <code class="ruby"> def blank?(object)</code> </li> - <li class="covered" data-hits="22" data-linenumber="114"> - <span class="hits">22</span> + <li class="covered" data-hits="23" data-linenumber="121"> + <span class="hits">23</span> <code class="ruby"> object.respond_to?(:empty?) ? object.empty? : !object</code> </li> - <li class="never" data-hits="" data-linenumber="115"> + <li class="never" data-hits="" data-linenumber="122"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="116"> + <li class="never" data-hits="" data-linenumber="123"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="117"> + <li class="never" data-hits="" data-linenumber="124"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="118"> + <li class="covered" data-hits="1" data-linenumber="125"> <span class="hits">1</span> <code class="ruby"> helpers Param</code> </li> - <li class="never" data-hits="" data-linenumber="119"> + <li class="never" data-hits="" data-linenumber="126"> <code class="ruby">end</code> </li>