./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 => 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 => 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] || ",")) 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] || ",").map{|c| c.split(options[:separator] || ":")}] 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, "'#{param}' is not a valid #{type}"</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, "Parameter is required" if value && 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, "Parameter cannot be blank" if !value && 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, "Parameter must be a string if using the format validation" 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, "Parameter must match format #{value}" 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, "Parameter must be #{value}" 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, "Parameter must be within #{value}" 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, "Parameter cannot be less than #{value}" unless param.nil? || value <= 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, "Parameter cannot be greater than #{value}" unless param.nil? || value >= 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, "Parameter cannot have length less than #{value}" unless param.nil? || value <= 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, "Parameter cannot have length greater than #{value}" unless param.nil? || value >= 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, "Only one of [#{names.join(', ')}] is allowed" if names.count{|name| present?(params[name])} > 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, "One of parameters [#{names.join(', ')}] is required" if names.count{|name| present?(params[name])} < 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>