./coverage/index.html in sinatra-param-1.5.0 vs ./coverage/index.html in sinatra-param-1.6.0

- old
+ new

@@ -12,30 +12,30 @@ <body> <div id="loading"> <img src="./assets/0.10.2/loading.gif" alt="loading"/> </div> <div id="wrapper" style="display:none;"> - <div class="timestamp">Generated <abbr class="timeago" title="2018-03-20T09:45:02-07:00">2018-03-20T09:45:02-07:00</abbr></div> + <div class="timestamp">Generated <abbr class="timeago" title="2019-03-15T15:07:53-07:00">2019-03-15T15:07:53-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">100.0%</span></span> covered at <span class="covered_strength"> <span class="green"> - 22.7 + 21.6 </span> </span> hits/line) </h2> <a name="AllFiles"></a> <div> <b>1</b> files in total. - <b>98</b> relevant lines. - <span class="green"><b>98</b> lines covered</span> and + <b>97</b> relevant lines. + <span class="green"><b>97</b> lines covered</span> and <span class="red"><b>0</b> lines missed </span> </div> <table class="file_list"> <thead> <tr> @@ -49,17 +49,17 @@ </tr> </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="strong"><a href="#5ab8a44675913f98c46680d991d2ce5426d11710" class="src_link" title="lib/sinatra/param.rb">lib/sinatra/param.rb</a></td> <td class="green strong">100.0 %</td> - <td>167</td> - <td>98</td> - <td>98</td> + <td>171</td> + <td>97</td> + <td>97</td> <td>0</td> - <td>22.7</td> + <td>21.6</td> </tr> </tbody> </table> </div> @@ -74,17 +74,17 @@ using RSpec </div> <div class="source_files"> - <div class="source_table" id="0f7926ededdfd8418773c107837b6dc4182659b8"> + <div class="source_table" id="5ab8a44675913f98c46680d991d2ce5426d11710"> <div class="header"> <h3>lib/sinatra/param.rb</h3> <h4><span class="green">100.0 %</span> covered</h4> <div> - <b>98</b> relevant lines. - <span class="green"><b>98</b> lines covered</span> and + <b>97</b> relevant lines. + <span class="green"><b>97</b> lines covered</span> and <span class="red"><b>0</b> lines missed.</span> </div> </div> <pre> @@ -172,42 +172,42 @@ <span class="hits">1</span> <code class="ruby"> def param(name, type, options = {})</code> </li> - <li class="covered" data-hits="152" data-linenumber="15"> - <span class="hits">152</span> + <li class="covered" data-hits="154" data-linenumber="15"> + <span class="hits">154</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="152" data-linenumber="17"> - <span class="hits">152</span> + <li class="covered" data-hits="154" data-linenumber="17"> + <span class="hits">154</span> <code class="ruby"> return unless params.member?(name) or options.has_key?(:default) or options[:required]</code> </li> <li class="never" data-hits="" data-linenumber="18"> <code class="ruby"></code> </li> - <li class="covered" data-hits="107" data-linenumber="19"> - <span class="hits">107</span> + <li class="never" data-hits="" data-linenumber="19"> + <code class="ruby"> begin</code> </li> - <li class="covered" data-hits="107" data-linenumber="20"> - <span class="hits">107</span> + <li class="covered" data-hits="109" data-linenumber="20"> + <span class="hits">109</span> <code class="ruby"> params[name] = coerce(params[name], type, options)</code> </li> <li class="covered" data-hits="102" data-linenumber="21"> @@ -232,18 +232,18 @@ <span class="hits">82</span> <code class="ruby"> params[name]</code> </li> - <li class="covered" data-hits="25" data-linenumber="25"> - <span class="hits">25</span> + <li class="covered" data-hits="27" data-linenumber="25"> + <span class="hits">27</span> <code class="ruby"> rescue InvalidParameterError =&gt; exception</code> </li> - <li class="covered" data-hits="25" data-linenumber="26"> - <span class="hits">25</span> + <li class="covered" data-hits="27" data-linenumber="26"> + <span class="hits">27</span> <code class="ruby"> if options[:raise] or (settings.raise_sinatra_param_exceptions rescue false)</code> </li> <li class="covered" data-hits="1" data-linenumber="27"> @@ -268,30 +268,30 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="24" data-linenumber="31"> - <span class="hits">24</span> + <li class="covered" data-hits="26" data-linenumber="31"> + <span class="hits">26</span> <code class="ruby"> error = options[:message] || exception.to_s</code> </li> <li class="never" data-hits="" data-linenumber="32"> <code class="ruby"></code> </li> - <li class="covered" data-hits="24" data-linenumber="33"> - <span class="hits">24</span> + <li class="covered" data-hits="26" data-linenumber="33"> + <span class="hits">26</span> <code class="ruby"> if content_type and content_type.match(mime_type(:json))</code> </li> - <li class="covered" data-hits="23" data-linenumber="34"> - <span class="hits">23</span> + <li class="covered" data-hits="25" data-linenumber="34"> + <span class="hits">25</span> <code class="ruby"> error = {message: error, errors: {name =&gt; exception.message}}.to_json</code> </li> <li class="never" data-hits="" data-linenumber="35"> @@ -316,12 +316,12 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="24" data-linenumber="39"> - <span class="hits">24</span> + <li class="covered" data-hits="26" data-linenumber="39"> + <span class="hits">26</span> <code class="ruby"> halt 400, error</code> </li> <li class="never" data-hits="" data-linenumber="40"> @@ -376,13 +376,13 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="13" data-linenumber="49"> - <span class="hits">13</span> + <li class="never" data-hits="" data-linenumber="49"> + <code class="ruby"> begin</code> </li> <li class="covered" data-hits="13" data-linenumber="50"> <span class="hits">13</span> @@ -514,13 +514,13 @@ <code class="ruby"></code> </li> - <li class="covered" data-hits="8" data-linenumber="72"> - <span class="hits">8</span> + <li class="never" data-hits="" data-linenumber="72"> + <code class="ruby"> begin</code> </li> <li class="covered" data-hits="8" data-linenumber="73"> <span class="hits">8</span> @@ -634,460 +634,484 @@ <span class="hits">1</span> <code class="ruby"> def coerce(param, type, options = {})</code> </li> - <li class="covered" data-hits="107" data-linenumber="92"> - <span class="hits">107</span> + <li class="never" data-hits="" data-linenumber="92"> + <code class="ruby"> begin</code> </li> - <li class="covered" data-hits="107" data-linenumber="93"> - <span class="hits">107</span> + <li class="covered" data-hits="109" data-linenumber="93"> + <span class="hits">109</span> <code class="ruby"> return nil if param.nil?</code> </li> - <li class="covered" data-hits="96" data-linenumber="94"> - <span class="hits">96</span> + <li class="covered" data-hits="98" data-linenumber="94"> + <span class="hits">98</span> <code class="ruby"> return param if (param.is_a?(type) rescue false)</code> </li> - <li class="covered" data-hits="46" data-linenumber="95"> - <span class="hits">46</span> + <li class="covered" data-hits="48" data-linenumber="95"> + <span class="hits">48</span> - <code class="ruby"> return Integer(param) if type == Integer</code> + <code class="ruby"> return Integer(param, 10) if type == Integer</code> </li> - <li class="covered" data-hits="35" data-linenumber="96"> - <span class="hits">35</span> + <li class="covered" data-hits="37" data-linenumber="96"> + <span class="hits">37</span> <code class="ruby"> return Float(param) if type == Float</code> </li> - <li class="covered" data-hits="33" data-linenumber="97"> - <span class="hits">33</span> + <li class="covered" data-hits="35" data-linenumber="97"> + <span class="hits">35</span> <code class="ruby"> return String(param) if type == String</code> </li> - <li class="covered" data-hits="32" data-linenumber="98"> - <span class="hits">32</span> + <li class="covered" data-hits="34" data-linenumber="98"> + <span class="hits">34</span> <code class="ruby"> return Date.parse(param) if type == Date</code> </li> - <li class="covered" data-hits="30" data-linenumber="99"> - <span class="hits">30</span> + <li class="covered" data-hits="32" data-linenumber="99"> + <span class="hits">32</span> <code class="ruby"> return Time.parse(param) if type == Time</code> </li> - <li class="covered" data-hits="28" data-linenumber="100"> - <span class="hits">28</span> + <li class="covered" data-hits="30" data-linenumber="100"> + <span class="hits">30</span> <code class="ruby"> return DateTime.parse(param) if type == DateTime</code> </li> - <li class="covered" data-hits="26" data-linenumber="101"> - <span class="hits">26</span> + <li class="covered" data-hits="28" data-linenumber="101"> + <span class="hits">28</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="102"> - <span class="hits">25</span> + <li class="covered" data-hits="27" data-linenumber="102"> + <span class="hits">27</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="103"> - <span class="hits">21</span> + <li class="covered" data-hits="23" data-linenumber="103"> + <span class="hits">23</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"> if [TrueClass, FalseClass, Boolean].include? type</code> </li> - <li class="never" data-hits="" data-linenumber="104"> + <li class="covered" data-hits="22" data-linenumber="104"> + <span class="hits">22</span> + <code class="ruby"> coerced = /^(false|f|no|n|0)$/i === param.to_s ? false : /^(true|t|yes|y|1)$/i === param.to_s ? true : nil</code> + </li> + + <li class="covered" data-hits="22" data-linenumber="105"> + <span class="hits">22</span> + <code class="ruby"> raise ArgumentError if coerced.nil?</code> + </li> + + <li class="covered" data-hits="20" data-linenumber="106"> + <span class="hits">20</span> + + <code class="ruby"> return coerced</code> + </li> + + <li class="never" data-hits="" data-linenumber="107"> + + + <code class="ruby"> end</code> + </li> + + <li class="never" data-hits="" data-linenumber="108"> + + <code class="ruby"> return nil</code> </li> - <li class="covered" data-hits="5" data-linenumber="105"> - <span class="hits">5</span> + <li class="covered" data-hits="7" data-linenumber="109"> + <span class="hits">7</span> <code class="ruby"> rescue ArgumentError</code> </li> - <li class="covered" data-hits="5" data-linenumber="106"> - <span class="hits">5</span> + <li class="covered" data-hits="7" data-linenumber="110"> + <span class="hits">7</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="107"> + <li class="never" data-hits="" data-linenumber="111"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="108"> + <li class="never" data-hits="" data-linenumber="112"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="109"> + <li class="never" data-hits="" data-linenumber="113"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="110"> + <li class="covered" data-hits="1" data-linenumber="114"> <span class="hits">1</span> <code class="ruby"> def validate!(param, options)</code> </li> - <li class="covered" data-hits="102" data-linenumber="111"> + <li class="covered" data-hits="102" data-linenumber="115"> <span class="hits">102</span> <code class="ruby"> options.each do |key, value|</code> </li> - <li class="covered" data-hits="52" data-linenumber="112"> + <li class="covered" data-hits="52" data-linenumber="116"> <span class="hits">52</span> <code class="ruby"> case key</code> </li> - <li class="never" data-hits="" data-linenumber="113"> + <li class="never" data-hits="" data-linenumber="117"> <code class="ruby"> when :required</code> </li> - <li class="covered" data-hits="7" data-linenumber="114"> + <li class="covered" data-hits="7" data-linenumber="118"> <span class="hits">7</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="115"> + <li class="never" data-hits="" data-linenumber="119"> <code class="ruby"> when :blank</code> </li> - <li class="never" data-hits="" data-linenumber="116"> + <li class="covered" data-hits="5" data-linenumber="120"> + <span class="hits">5</span> - <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="117"> + <li class="never" data-hits="" data-linenumber="121"> <code class="ruby"> when String</code> </li> - <li class="covered" data-hits="1" data-linenumber="118"> + <li class="covered" data-hits="1" data-linenumber="122"> <span class="hits">1</span> <code class="ruby"> !(/\S/ === param)</code> </li> - <li class="never" data-hits="" data-linenumber="119"> + <li class="never" data-hits="" data-linenumber="123"> <code class="ruby"> when Array, Hash</code> </li> - <li class="covered" data-hits="2" data-linenumber="120"> + <li class="covered" data-hits="2" data-linenumber="124"> <span class="hits">2</span> <code class="ruby"> param.empty?</code> </li> - <li class="never" data-hits="" data-linenumber="121"> + <li class="never" data-hits="" data-linenumber="125"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="1" data-linenumber="122"> + <li class="covered" data-hits="1" data-linenumber="126"> <span class="hits">1</span> <code class="ruby"> param.nil?</code> </li> - <li class="covered" data-hits="5" data-linenumber="123"> - <span class="hits">5</span> + <li class="never" data-hits="" data-linenumber="127"> + <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="124"> + <li class="never" data-hits="" data-linenumber="128"> <code class="ruby"> when :format</code> </li> - <li class="covered" data-hits="3" data-linenumber="125"> + <li class="covered" data-hits="3" data-linenumber="129"> <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="126"> + <li class="covered" data-hits="2" data-linenumber="130"> <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="127"> + <li class="never" data-hits="" data-linenumber="131"> <code class="ruby"> when :is</code> </li> - <li class="covered" data-hits="2" data-linenumber="128"> + <li class="covered" data-hits="2" data-linenumber="132"> <span class="hits">2</span> <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be #{value}&quot; unless param === value</code> </li> - <li class="never" data-hits="" data-linenumber="129"> + <li class="never" data-hits="" data-linenumber="133"> <code class="ruby"> when :in, :within, :range</code> </li> - <li class="never" data-hits="" data-linenumber="130"> + <li class="covered" data-hits="8" data-linenumber="134"> + <span class="hits">8</span> - <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="131"> + <li class="never" data-hits="" data-linenumber="135"> <code class="ruby"> when Range</code> </li> - <li class="covered" data-hits="4" data-linenumber="132"> + <li class="covered" data-hits="4" data-linenumber="136"> <span class="hits">4</span> <code class="ruby"> value.include?(param)</code> </li> - <li class="never" data-hits="" data-linenumber="133"> + <li class="never" data-hits="" data-linenumber="137"> <code class="ruby"> else</code> </li> - <li class="covered" data-hits="2" data-linenumber="134"> + <li class="covered" data-hits="2" data-linenumber="138"> <span class="hits">2</span> <code class="ruby"> Array(value).include?(param)</code> </li> - <li class="covered" data-hits="8" data-linenumber="135"> - <span class="hits">8</span> + <li class="never" data-hits="" data-linenumber="139"> + <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="136"> + <li class="never" data-hits="" data-linenumber="140"> <code class="ruby"> when :min</code> </li> - <li class="covered" data-hits="2" data-linenumber="137"> + <li class="covered" data-hits="2" data-linenumber="141"> <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="138"> + <li class="never" data-hits="" data-linenumber="142"> <code class="ruby"> when :max</code> </li> - <li class="covered" data-hits="2" data-linenumber="139"> + <li class="covered" data-hits="2" data-linenumber="143"> <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="140"> + <li class="never" data-hits="" data-linenumber="144"> <code class="ruby"> when :min_length</code> </li> - <li class="covered" data-hits="1" data-linenumber="141"> + <li class="covered" data-hits="1" data-linenumber="145"> <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="142"> + <li class="never" data-hits="" data-linenumber="146"> <code class="ruby"> when :max_length</code> </li> - <li class="covered" data-hits="4" data-linenumber="143"> + <li class="covered" data-hits="4" data-linenumber="147"> <span class="hits">4</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="144"> + <li class="never" data-hits="" data-linenumber="148"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="145"> + <li class="never" data-hits="" data-linenumber="149"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="146"> + <li class="never" data-hits="" data-linenumber="150"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="147"> + <li class="never" data-hits="" data-linenumber="151"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="148"> + <li class="covered" data-hits="1" data-linenumber="152"> <span class="hits">1</span> <code class="ruby"> def validate_one_of!(params, names, options)</code> </li> - <li class="covered" data-hits="47" data-linenumber="149"> + <li class="covered" data-hits="47" data-linenumber="153"> <span class="hits">47</span> <code class="ruby"> raise InvalidParameterError, &quot;Only one of [#{names.join(&#39;, &#39;)}] is allowed&quot; if names.count{|name| present?(params[name])} &gt; 1</code> </li> - <li class="never" data-hits="" data-linenumber="150"> + <li class="never" data-hits="" data-linenumber="154"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="151"> + <li class="never" data-hits="" data-linenumber="155"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="152"> + <li class="covered" data-hits="1" data-linenumber="156"> <span class="hits">1</span> <code class="ruby"> def validate_any_of!(params, names, options)</code> </li> - <li class="covered" data-hits="32" data-linenumber="153"> + <li class="covered" data-hits="32" data-linenumber="157"> <span class="hits">32</span> <code class="ruby"> raise InvalidParameterError, &quot;One of parameters [#{names.join(&#39;, &#39;)}] is required&quot; if names.count{|name| present?(params[name])} &lt; 1</code> </li> - <li class="never" data-hits="" data-linenumber="154"> + <li class="never" data-hits="" data-linenumber="158"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="155"> + <li class="never" data-hits="" data-linenumber="159"> <code class="ruby"></code> </li> - <li class="never" data-hits="" data-linenumber="156"> + <li class="never" data-hits="" data-linenumber="160"> <code class="ruby"> # ActiveSupport #present? and #blank? without patching Object</code> </li> - <li class="covered" data-hits="1" data-linenumber="157"> + <li class="covered" data-hits="1" data-linenumber="161"> <span class="hits">1</span> <code class="ruby"> def present?(object)</code> </li> - <li class="covered" data-hits="58" data-linenumber="158"> + <li class="covered" data-hits="58" data-linenumber="162"> <span class="hits">58</span> <code class="ruby"> !blank?(object)</code> </li> - <li class="never" data-hits="" data-linenumber="159"> + <li class="never" data-hits="" data-linenumber="163"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="160"> + <li class="never" data-hits="" data-linenumber="164"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="161"> + <li class="covered" data-hits="1" data-linenumber="165"> <span class="hits">1</span> <code class="ruby"> def blank?(object)</code> </li> - <li class="covered" data-hits="58" data-linenumber="162"> + <li class="covered" data-hits="58" data-linenumber="166"> <span class="hits">58</span> <code class="ruby"> object.respond_to?(:empty?) ? object.empty? : !object</code> </li> - <li class="never" data-hits="" data-linenumber="163"> + <li class="never" data-hits="" data-linenumber="167"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="164"> + <li class="never" data-hits="" data-linenumber="168"> <code class="ruby"> end</code> </li> - <li class="never" data-hits="" data-linenumber="165"> + <li class="never" data-hits="" data-linenumber="169"> <code class="ruby"></code> </li> - <li class="covered" data-hits="1" data-linenumber="166"> + <li class="covered" data-hits="1" data-linenumber="170"> <span class="hits">1</span> <code class="ruby"> helpers Param</code> </li> - <li class="never" data-hits="" data-linenumber="167"> + <li class="never" data-hits="" data-linenumber="171"> <code class="ruby">end</code> </li>