sinatra-param 1.5.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile.lock +23 -23
  3. data/coverage/index.html +156 -132
  4. data/example/Gemfile +1 -4
  5. data/example/Gemfile.lock +11 -14
  6. data/example/Procfile +1 -1
  7. data/lib/sinatra/param.rb +6 -2
  8. data/lib/sinatra/param/version.rb +1 -1
  9. data/spec/parameter_type_coercion_spec.rb +16 -2
  10. metadata +3 -44
  11. data/coverage/assets/0.7.1/application.css +0 -1110
  12. data/coverage/assets/0.7.1/application.js +0 -626
  13. data/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
  14. data/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
  15. data/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
  16. data/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
  17. data/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
  18. data/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
  19. data/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
  20. data/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
  21. data/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
  22. data/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
  23. data/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
  24. data/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
  25. data/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
  26. data/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
  27. data/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
  28. data/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
  29. data/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
  30. data/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
  31. data/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
  32. data/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
  33. data/coverage/assets/0.7.1/favicon_green.png +0 -0
  34. data/coverage/assets/0.7.1/favicon_red.png +0 -0
  35. data/coverage/assets/0.7.1/favicon_yellow.png +0 -0
  36. data/coverage/assets/0.7.1/loading.gif +0 -0
  37. data/coverage/assets/0.7.1/magnify.png +0 -0
  38. data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  39. data/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  40. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  41. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  42. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  43. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  44. data/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  45. data/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  46. data/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
  47. data/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  48. data/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
  49. data/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
  50. data/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: eb09f5de378007df286a9fcedda7d746952e54a4
4
- data.tar.gz: d3ca19284f8387be1858fb9cbb1f8ae9123aa02f
2
+ SHA256:
3
+ metadata.gz: 3af3685b1f1855e46f87a28523a0e754cb20c10ff250916ca68aca47597fa0be
4
+ data.tar.gz: 4ab5a98049fda855dadf4f3cf98d12fcb9207c3842464435710ae57c1bc8d69c
5
5
  SHA512:
6
- metadata.gz: 7b6875952e5c75561e1b6c271bdd2c39e49b5d302b1340ad451315f6f6954dad93264bdfe4b7f79e65da89c98eadcb137a1c8c7aee1b4fa26b8f1a41185a1528
7
- data.tar.gz: df58e68d9bf8cab1607e66a12d07b119d0152029bec04476c256e4b9fa3962e93666bc5bc47d995679d3165fd76e1bc7d33b9baae90cb7e7b63b6d660112ff8d
6
+ metadata.gz: 2afce8f10e13ff41d62f548a3ab59f2e67ef85e4ce6f87a3bc8dd8d867c4dc2a9b02ce2cff0ac142a5846e6e3a297d49cec602589bd4721df170961f86f694f3
7
+ data.tar.gz: 41d674d697e9fe487769a3f9b87e383d2359e74c1086a6a1aba2e4eac17d52c5eb3da6d8ae8e80db80e075a397ae64ffc015e374e6faa44694465c69181ab48e
@@ -1,46 +1,46 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sinatra-param (1.5.0)
4
+ sinatra-param (1.6.0)
5
5
  sinatra (>= 1.3)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  diff-lcs (1.3)
11
- docile (1.3.0)
12
- json (2.1.0)
13
- mustermann (1.0.2)
14
- rack (2.0.4)
15
- rack-protection (2.0.1)
11
+ docile (1.3.1)
12
+ json (2.2.0)
13
+ mustermann (1.0.3)
14
+ rack (2.0.6)
15
+ rack-protection (2.0.5)
16
16
  rack
17
- rack-test (0.8.3)
17
+ rack-test (1.1.0)
18
18
  rack (>= 1.0, < 3)
19
- rake (12.3.0)
20
- rspec (3.7.0)
21
- rspec-core (~> 3.7.0)
22
- rspec-expectations (~> 3.7.0)
23
- rspec-mocks (~> 3.7.0)
24
- rspec-core (3.7.1)
25
- rspec-support (~> 3.7.0)
26
- rspec-expectations (3.7.0)
19
+ rake (12.3.2)
20
+ rspec (3.8.0)
21
+ rspec-core (~> 3.8.0)
22
+ rspec-expectations (~> 3.8.0)
23
+ rspec-mocks (~> 3.8.0)
24
+ rspec-core (3.8.0)
25
+ rspec-support (~> 3.8.0)
26
+ rspec-expectations (3.8.2)
27
27
  diff-lcs (>= 1.2.0, < 2.0)
28
- rspec-support (~> 3.7.0)
29
- rspec-mocks (3.7.0)
28
+ rspec-support (~> 3.8.0)
29
+ rspec-mocks (3.8.0)
30
30
  diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.7.0)
32
- rspec-support (3.7.1)
31
+ rspec-support (~> 3.8.0)
32
+ rspec-support (3.8.0)
33
33
  simplecov (0.16.1)
34
34
  docile (~> 1.1)
35
35
  json (>= 1.8, < 3)
36
36
  simplecov-html (~> 0.10.0)
37
37
  simplecov-html (0.10.2)
38
- sinatra (2.0.1)
38
+ sinatra (2.0.5)
39
39
  mustermann (~> 1.0)
40
40
  rack (~> 2.0)
41
- rack-protection (= 2.0.1)
41
+ rack-protection (= 2.0.5)
42
42
  tilt (~> 2.0)
43
- tilt (2.0.8)
43
+ tilt (2.0.9)
44
44
 
45
45
  PLATFORMS
46
46
  ruby
@@ -53,4 +53,4 @@ DEPENDENCIES
53
53
  sinatra-param!
54
54
 
55
55
  BUNDLED WITH
56
- 1.16.0
56
+ 2.0.1
@@ -14,7 +14,7 @@
14
14
  <img src="./assets/0.10.2/loading.gif" alt="loading"/>
15
15
  </div>
16
16
  <div id="wrapper" style="display:none;">
17
- <div class="timestamp">Generated <abbr class="timeago" title="2018-03-20T09:45:02-07:00">2018-03-20T09:45:02-07:00</abbr></div>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2019-03-15T15:07:53-07:00">2019-03-15T15:07:53-07:00</abbr></div>
18
18
  <ul class="group_tabs"></ul>
19
19
 
20
20
  <div id="content">
@@ -25,15 +25,15 @@
25
25
  covered at
26
26
  <span class="covered_strength">
27
27
  <span class="green">
28
- 22.7
28
+ 21.6
29
29
  </span>
30
30
  </span> hits/line)
31
31
  </h2>
32
32
  <a name="AllFiles"></a>
33
33
  <div>
34
34
  <b>1</b> files in total.
35
- <b>98</b> relevant lines.
36
- <span class="green"><b>98</b> lines covered</span> and
35
+ <b>97</b> relevant lines.
36
+ <span class="green"><b>97</b> lines covered</span> and
37
37
  <span class="red"><b>0</b> lines missed </span>
38
38
  </div>
39
39
  <table class="file_list">
@@ -51,13 +51,13 @@
51
51
  <tbody>
52
52
 
53
53
  <tr>
54
- <td class="strong"><a href="#0f7926ededdfd8418773c107837b6dc4182659b8" class="src_link" title="lib/sinatra/param.rb">lib/sinatra/param.rb</a></td>
54
+ <td class="strong"><a href="#5ab8a44675913f98c46680d991d2ce5426d11710" class="src_link" title="lib/sinatra/param.rb">lib/sinatra/param.rb</a></td>
55
55
  <td class="green strong">100.0 %</td>
56
- <td>167</td>
57
- <td>98</td>
58
- <td>98</td>
56
+ <td>171</td>
57
+ <td>97</td>
58
+ <td>97</td>
59
59
  <td>0</td>
60
- <td>22.7</td>
60
+ <td>21.6</td>
61
61
  </tr>
62
62
 
63
63
  </tbody>
@@ -76,13 +76,13 @@
76
76
 
77
77
  <div class="source_files">
78
78
 
79
- <div class="source_table" id="0f7926ededdfd8418773c107837b6dc4182659b8">
79
+ <div class="source_table" id="5ab8a44675913f98c46680d991d2ce5426d11710">
80
80
  <div class="header">
81
81
  <h3>lib/sinatra/param.rb</h3>
82
82
  <h4><span class="green">100.0 %</span> covered</h4>
83
83
  <div>
84
- <b>98</b> relevant lines.
85
- <span class="green"><b>98</b> lines covered</span> and
84
+ <b>97</b> relevant lines.
85
+ <span class="green"><b>97</b> lines covered</span> and
86
86
  <span class="red"><b>0</b> lines missed.</span>
87
87
  </div>
88
88
  </div>
@@ -174,8 +174,8 @@
174
174
  <code class="ruby"> def param(name, type, options = {})</code>
175
175
  </li>
176
176
 
177
- <li class="covered" data-hits="152" data-linenumber="15">
178
- <span class="hits">152</span>
177
+ <li class="covered" data-hits="154" data-linenumber="15">
178
+ <span class="hits">154</span>
179
179
 
180
180
  <code class="ruby"> name = name.to_s</code>
181
181
  </li>
@@ -186,8 +186,8 @@
186
186
  <code class="ruby"></code>
187
187
  </li>
188
188
 
189
- <li class="covered" data-hits="152" data-linenumber="17">
190
- <span class="hits">152</span>
189
+ <li class="covered" data-hits="154" data-linenumber="17">
190
+ <span class="hits">154</span>
191
191
 
192
192
  <code class="ruby"> return unless params.member?(name) or options.has_key?(:default) or options[:required]</code>
193
193
  </li>
@@ -198,14 +198,14 @@
198
198
  <code class="ruby"></code>
199
199
  </li>
200
200
 
201
- <li class="covered" data-hits="107" data-linenumber="19">
202
- <span class="hits">107</span>
201
+ <li class="never" data-hits="" data-linenumber="19">
202
+
203
203
 
204
204
  <code class="ruby"> begin</code>
205
205
  </li>
206
206
 
207
- <li class="covered" data-hits="107" data-linenumber="20">
208
- <span class="hits">107</span>
207
+ <li class="covered" data-hits="109" data-linenumber="20">
208
+ <span class="hits">109</span>
209
209
 
210
210
  <code class="ruby"> params[name] = coerce(params[name], type, options)</code>
211
211
  </li>
@@ -234,14 +234,14 @@
234
234
  <code class="ruby"> params[name]</code>
235
235
  </li>
236
236
 
237
- <li class="covered" data-hits="25" data-linenumber="25">
238
- <span class="hits">25</span>
237
+ <li class="covered" data-hits="27" data-linenumber="25">
238
+ <span class="hits">27</span>
239
239
 
240
240
  <code class="ruby"> rescue InvalidParameterError =&gt; exception</code>
241
241
  </li>
242
242
 
243
- <li class="covered" data-hits="25" data-linenumber="26">
244
- <span class="hits">25</span>
243
+ <li class="covered" data-hits="27" data-linenumber="26">
244
+ <span class="hits">27</span>
245
245
 
246
246
  <code class="ruby"> if options[:raise] or (settings.raise_sinatra_param_exceptions rescue false)</code>
247
247
  </li>
@@ -270,8 +270,8 @@
270
270
  <code class="ruby"></code>
271
271
  </li>
272
272
 
273
- <li class="covered" data-hits="24" data-linenumber="31">
274
- <span class="hits">24</span>
273
+ <li class="covered" data-hits="26" data-linenumber="31">
274
+ <span class="hits">26</span>
275
275
 
276
276
  <code class="ruby"> error = options[:message] || exception.to_s</code>
277
277
  </li>
@@ -282,14 +282,14 @@
282
282
  <code class="ruby"></code>
283
283
  </li>
284
284
 
285
- <li class="covered" data-hits="24" data-linenumber="33">
286
- <span class="hits">24</span>
285
+ <li class="covered" data-hits="26" data-linenumber="33">
286
+ <span class="hits">26</span>
287
287
 
288
288
  <code class="ruby"> if content_type and content_type.match(mime_type(:json))</code>
289
289
  </li>
290
290
 
291
- <li class="covered" data-hits="23" data-linenumber="34">
292
- <span class="hits">23</span>
291
+ <li class="covered" data-hits="25" data-linenumber="34">
292
+ <span class="hits">25</span>
293
293
 
294
294
  <code class="ruby"> error = {message: error, errors: {name =&gt; exception.message}}.to_json</code>
295
295
  </li>
@@ -318,8 +318,8 @@
318
318
  <code class="ruby"></code>
319
319
  </li>
320
320
 
321
- <li class="covered" data-hits="24" data-linenumber="39">
322
- <span class="hits">24</span>
321
+ <li class="covered" data-hits="26" data-linenumber="39">
322
+ <span class="hits">26</span>
323
323
 
324
324
  <code class="ruby"> halt 400, error</code>
325
325
  </li>
@@ -378,8 +378,8 @@
378
378
  <code class="ruby"></code>
379
379
  </li>
380
380
 
381
- <li class="covered" data-hits="13" data-linenumber="49">
382
- <span class="hits">13</span>
381
+ <li class="never" data-hits="" data-linenumber="49">
382
+
383
383
 
384
384
  <code class="ruby"> begin</code>
385
385
  </li>
@@ -516,8 +516,8 @@
516
516
  <code class="ruby"></code>
517
517
  </li>
518
518
 
519
- <li class="covered" data-hits="8" data-linenumber="72">
520
- <span class="hits">8</span>
519
+ <li class="never" data-hits="" data-linenumber="72">
520
+
521
521
 
522
522
  <code class="ruby"> begin</code>
523
523
  </li>
@@ -636,457 +636,481 @@
636
636
  <code class="ruby"> def coerce(param, type, options = {})</code>
637
637
  </li>
638
638
 
639
- <li class="covered" data-hits="107" data-linenumber="92">
640
- <span class="hits">107</span>
639
+ <li class="never" data-hits="" data-linenumber="92">
640
+
641
641
 
642
642
  <code class="ruby"> begin</code>
643
643
  </li>
644
644
 
645
- <li class="covered" data-hits="107" data-linenumber="93">
646
- <span class="hits">107</span>
645
+ <li class="covered" data-hits="109" data-linenumber="93">
646
+ <span class="hits">109</span>
647
647
 
648
648
  <code class="ruby"> return nil if param.nil?</code>
649
649
  </li>
650
650
 
651
- <li class="covered" data-hits="96" data-linenumber="94">
652
- <span class="hits">96</span>
651
+ <li class="covered" data-hits="98" data-linenumber="94">
652
+ <span class="hits">98</span>
653
653
 
654
654
  <code class="ruby"> return param if (param.is_a?(type) rescue false)</code>
655
655
  </li>
656
656
 
657
- <li class="covered" data-hits="46" data-linenumber="95">
658
- <span class="hits">46</span>
657
+ <li class="covered" data-hits="48" data-linenumber="95">
658
+ <span class="hits">48</span>
659
659
 
660
- <code class="ruby"> return Integer(param) if type == Integer</code>
660
+ <code class="ruby"> return Integer(param, 10) if type == Integer</code>
661
661
  </li>
662
662
 
663
- <li class="covered" data-hits="35" data-linenumber="96">
664
- <span class="hits">35</span>
663
+ <li class="covered" data-hits="37" data-linenumber="96">
664
+ <span class="hits">37</span>
665
665
 
666
666
  <code class="ruby"> return Float(param) if type == Float</code>
667
667
  </li>
668
668
 
669
- <li class="covered" data-hits="33" data-linenumber="97">
670
- <span class="hits">33</span>
669
+ <li class="covered" data-hits="35" data-linenumber="97">
670
+ <span class="hits">35</span>
671
671
 
672
672
  <code class="ruby"> return String(param) if type == String</code>
673
673
  </li>
674
674
 
675
- <li class="covered" data-hits="32" data-linenumber="98">
676
- <span class="hits">32</span>
675
+ <li class="covered" data-hits="34" data-linenumber="98">
676
+ <span class="hits">34</span>
677
677
 
678
678
  <code class="ruby"> return Date.parse(param) if type == Date</code>
679
679
  </li>
680
680
 
681
- <li class="covered" data-hits="30" data-linenumber="99">
682
- <span class="hits">30</span>
681
+ <li class="covered" data-hits="32" data-linenumber="99">
682
+ <span class="hits">32</span>
683
683
 
684
684
  <code class="ruby"> return Time.parse(param) if type == Time</code>
685
685
  </li>
686
686
 
687
- <li class="covered" data-hits="28" data-linenumber="100">
688
- <span class="hits">28</span>
687
+ <li class="covered" data-hits="30" data-linenumber="100">
688
+ <span class="hits">30</span>
689
689
 
690
690
  <code class="ruby"> return DateTime.parse(param) if type == DateTime</code>
691
691
  </li>
692
692
 
693
- <li class="covered" data-hits="26" data-linenumber="101">
694
- <span class="hits">26</span>
693
+ <li class="covered" data-hits="28" data-linenumber="101">
694
+ <span class="hits">28</span>
695
695
 
696
696
  <code class="ruby"> return Array(param.split(options[:delimiter] || &quot;,&quot;)) if type == Array</code>
697
697
  </li>
698
698
 
699
- <li class="covered" data-hits="25" data-linenumber="102">
700
- <span class="hits">25</span>
699
+ <li class="covered" data-hits="27" data-linenumber="102">
700
+ <span class="hits">27</span>
701
701
 
702
702
  <code class="ruby"> return Hash[param.split(options[:delimiter] || &quot;,&quot;).map{|c| c.split(options[:separator] || &quot;:&quot;)}] if type == Hash</code>
703
703
  </li>
704
704
 
705
- <li class="covered" data-hits="21" data-linenumber="103">
706
- <span class="hits">21</span>
705
+ <li class="covered" data-hits="23" data-linenumber="103">
706
+ <span class="hits">23</span>
707
707
 
708
- <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>
708
+ <code class="ruby"> if [TrueClass, FalseClass, Boolean].include? type</code>
709
709
  </li>
710
710
 
711
- <li class="never" data-hits="" data-linenumber="104">
711
+ <li class="covered" data-hits="22" data-linenumber="104">
712
+ <span class="hits">22</span>
713
+
714
+ <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>
715
+ </li>
716
+
717
+ <li class="covered" data-hits="22" data-linenumber="105">
718
+ <span class="hits">22</span>
719
+
720
+ <code class="ruby"> raise ArgumentError if coerced.nil?</code>
721
+ </li>
722
+
723
+ <li class="covered" data-hits="20" data-linenumber="106">
724
+ <span class="hits">20</span>
725
+
726
+ <code class="ruby"> return coerced</code>
727
+ </li>
728
+
729
+ <li class="never" data-hits="" data-linenumber="107">
730
+
731
+
732
+ <code class="ruby"> end</code>
733
+ </li>
734
+
735
+ <li class="never" data-hits="" data-linenumber="108">
712
736
 
713
737
 
714
738
  <code class="ruby"> return nil</code>
715
739
  </li>
716
740
 
717
- <li class="covered" data-hits="5" data-linenumber="105">
718
- <span class="hits">5</span>
741
+ <li class="covered" data-hits="7" data-linenumber="109">
742
+ <span class="hits">7</span>
719
743
 
720
744
  <code class="ruby"> rescue ArgumentError</code>
721
745
  </li>
722
746
 
723
- <li class="covered" data-hits="5" data-linenumber="106">
724
- <span class="hits">5</span>
747
+ <li class="covered" data-hits="7" data-linenumber="110">
748
+ <span class="hits">7</span>
725
749
 
726
750
  <code class="ruby"> raise InvalidParameterError, &quot;&#39;#{param}&#39; is not a valid #{type}&quot;</code>
727
751
  </li>
728
752
 
729
- <li class="never" data-hits="" data-linenumber="107">
753
+ <li class="never" data-hits="" data-linenumber="111">
730
754
 
731
755
 
732
756
  <code class="ruby"> end</code>
733
757
  </li>
734
758
 
735
- <li class="never" data-hits="" data-linenumber="108">
759
+ <li class="never" data-hits="" data-linenumber="112">
736
760
 
737
761
 
738
762
  <code class="ruby"> end</code>
739
763
  </li>
740
764
 
741
- <li class="never" data-hits="" data-linenumber="109">
765
+ <li class="never" data-hits="" data-linenumber="113">
742
766
 
743
767
 
744
768
  <code class="ruby"></code>
745
769
  </li>
746
770
 
747
- <li class="covered" data-hits="1" data-linenumber="110">
771
+ <li class="covered" data-hits="1" data-linenumber="114">
748
772
  <span class="hits">1</span>
749
773
 
750
774
  <code class="ruby"> def validate!(param, options)</code>
751
775
  </li>
752
776
 
753
- <li class="covered" data-hits="102" data-linenumber="111">
777
+ <li class="covered" data-hits="102" data-linenumber="115">
754
778
  <span class="hits">102</span>
755
779
 
756
780
  <code class="ruby"> options.each do |key, value|</code>
757
781
  </li>
758
782
 
759
- <li class="covered" data-hits="52" data-linenumber="112">
783
+ <li class="covered" data-hits="52" data-linenumber="116">
760
784
  <span class="hits">52</span>
761
785
 
762
786
  <code class="ruby"> case key</code>
763
787
  </li>
764
788
 
765
- <li class="never" data-hits="" data-linenumber="113">
789
+ <li class="never" data-hits="" data-linenumber="117">
766
790
 
767
791
 
768
792
  <code class="ruby"> when :required</code>
769
793
  </li>
770
794
 
771
- <li class="covered" data-hits="7" data-linenumber="114">
795
+ <li class="covered" data-hits="7" data-linenumber="118">
772
796
  <span class="hits">7</span>
773
797
 
774
798
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter is required&quot; if value &amp;&amp; param.nil?</code>
775
799
  </li>
776
800
 
777
- <li class="never" data-hits="" data-linenumber="115">
801
+ <li class="never" data-hits="" data-linenumber="119">
778
802
 
779
803
 
780
804
  <code class="ruby"> when :blank</code>
781
805
  </li>
782
806
 
783
- <li class="never" data-hits="" data-linenumber="116">
784
-
807
+ <li class="covered" data-hits="5" data-linenumber="120">
808
+ <span class="hits">5</span>
785
809
 
786
810
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot be blank&quot; if !value &amp;&amp; case param</code>
787
811
  </li>
788
812
 
789
- <li class="never" data-hits="" data-linenumber="117">
813
+ <li class="never" data-hits="" data-linenumber="121">
790
814
 
791
815
 
792
816
  <code class="ruby"> when String</code>
793
817
  </li>
794
818
 
795
- <li class="covered" data-hits="1" data-linenumber="118">
819
+ <li class="covered" data-hits="1" data-linenumber="122">
796
820
  <span class="hits">1</span>
797
821
 
798
822
  <code class="ruby"> !(/\S/ === param)</code>
799
823
  </li>
800
824
 
801
- <li class="never" data-hits="" data-linenumber="119">
825
+ <li class="never" data-hits="" data-linenumber="123">
802
826
 
803
827
 
804
828
  <code class="ruby"> when Array, Hash</code>
805
829
  </li>
806
830
 
807
- <li class="covered" data-hits="2" data-linenumber="120">
831
+ <li class="covered" data-hits="2" data-linenumber="124">
808
832
  <span class="hits">2</span>
809
833
 
810
834
  <code class="ruby"> param.empty?</code>
811
835
  </li>
812
836
 
813
- <li class="never" data-hits="" data-linenumber="121">
837
+ <li class="never" data-hits="" data-linenumber="125">
814
838
 
815
839
 
816
840
  <code class="ruby"> else</code>
817
841
  </li>
818
842
 
819
- <li class="covered" data-hits="1" data-linenumber="122">
843
+ <li class="covered" data-hits="1" data-linenumber="126">
820
844
  <span class="hits">1</span>
821
845
 
822
846
  <code class="ruby"> param.nil?</code>
823
847
  </li>
824
848
 
825
- <li class="covered" data-hits="5" data-linenumber="123">
826
- <span class="hits">5</span>
849
+ <li class="never" data-hits="" data-linenumber="127">
850
+
827
851
 
828
852
  <code class="ruby"> end</code>
829
853
  </li>
830
854
 
831
- <li class="never" data-hits="" data-linenumber="124">
855
+ <li class="never" data-hits="" data-linenumber="128">
832
856
 
833
857
 
834
858
  <code class="ruby"> when :format</code>
835
859
  </li>
836
860
 
837
- <li class="covered" data-hits="3" data-linenumber="125">
861
+ <li class="covered" data-hits="3" data-linenumber="129">
838
862
  <span class="hits">3</span>
839
863
 
840
864
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be a string if using the format validation&quot; unless param.kind_of?(String)</code>
841
865
  </li>
842
866
 
843
- <li class="covered" data-hits="2" data-linenumber="126">
867
+ <li class="covered" data-hits="2" data-linenumber="130">
844
868
  <span class="hits">2</span>
845
869
 
846
870
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter must match format #{value}&quot; unless param =~ value</code>
847
871
  </li>
848
872
 
849
- <li class="never" data-hits="" data-linenumber="127">
873
+ <li class="never" data-hits="" data-linenumber="131">
850
874
 
851
875
 
852
876
  <code class="ruby"> when :is</code>
853
877
  </li>
854
878
 
855
- <li class="covered" data-hits="2" data-linenumber="128">
879
+ <li class="covered" data-hits="2" data-linenumber="132">
856
880
  <span class="hits">2</span>
857
881
 
858
882
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be #{value}&quot; unless param === value</code>
859
883
  </li>
860
884
 
861
- <li class="never" data-hits="" data-linenumber="129">
885
+ <li class="never" data-hits="" data-linenumber="133">
862
886
 
863
887
 
864
888
  <code class="ruby"> when :in, :within, :range</code>
865
889
  </li>
866
890
 
867
- <li class="never" data-hits="" data-linenumber="130">
868
-
891
+ <li class="covered" data-hits="8" data-linenumber="134">
892
+ <span class="hits">8</span>
869
893
 
870
894
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter must be within #{value}&quot; unless param.nil? || case value</code>
871
895
  </li>
872
896
 
873
- <li class="never" data-hits="" data-linenumber="131">
897
+ <li class="never" data-hits="" data-linenumber="135">
874
898
 
875
899
 
876
900
  <code class="ruby"> when Range</code>
877
901
  </li>
878
902
 
879
- <li class="covered" data-hits="4" data-linenumber="132">
903
+ <li class="covered" data-hits="4" data-linenumber="136">
880
904
  <span class="hits">4</span>
881
905
 
882
906
  <code class="ruby"> value.include?(param)</code>
883
907
  </li>
884
908
 
885
- <li class="never" data-hits="" data-linenumber="133">
909
+ <li class="never" data-hits="" data-linenumber="137">
886
910
 
887
911
 
888
912
  <code class="ruby"> else</code>
889
913
  </li>
890
914
 
891
- <li class="covered" data-hits="2" data-linenumber="134">
915
+ <li class="covered" data-hits="2" data-linenumber="138">
892
916
  <span class="hits">2</span>
893
917
 
894
918
  <code class="ruby"> Array(value).include?(param)</code>
895
919
  </li>
896
920
 
897
- <li class="covered" data-hits="8" data-linenumber="135">
898
- <span class="hits">8</span>
921
+ <li class="never" data-hits="" data-linenumber="139">
922
+
899
923
 
900
924
  <code class="ruby"> end</code>
901
925
  </li>
902
926
 
903
- <li class="never" data-hits="" data-linenumber="136">
927
+ <li class="never" data-hits="" data-linenumber="140">
904
928
 
905
929
 
906
930
  <code class="ruby"> when :min</code>
907
931
  </li>
908
932
 
909
- <li class="covered" data-hits="2" data-linenumber="137">
933
+ <li class="covered" data-hits="2" data-linenumber="141">
910
934
  <span class="hits">2</span>
911
935
 
912
936
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot be less than #{value}&quot; unless param.nil? || value &lt;= param</code>
913
937
  </li>
914
938
 
915
- <li class="never" data-hits="" data-linenumber="138">
939
+ <li class="never" data-hits="" data-linenumber="142">
916
940
 
917
941
 
918
942
  <code class="ruby"> when :max</code>
919
943
  </li>
920
944
 
921
- <li class="covered" data-hits="2" data-linenumber="139">
945
+ <li class="covered" data-hits="2" data-linenumber="143">
922
946
  <span class="hits">2</span>
923
947
 
924
948
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot be greater than #{value}&quot; unless param.nil? || value &gt;= param</code>
925
949
  </li>
926
950
 
927
- <li class="never" data-hits="" data-linenumber="140">
951
+ <li class="never" data-hits="" data-linenumber="144">
928
952
 
929
953
 
930
954
  <code class="ruby"> when :min_length</code>
931
955
  </li>
932
956
 
933
- <li class="covered" data-hits="1" data-linenumber="141">
957
+ <li class="covered" data-hits="1" data-linenumber="145">
934
958
  <span class="hits">1</span>
935
959
 
936
960
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot have length less than #{value}&quot; unless param.nil? || value &lt;= param.length</code>
937
961
  </li>
938
962
 
939
- <li class="never" data-hits="" data-linenumber="142">
963
+ <li class="never" data-hits="" data-linenumber="146">
940
964
 
941
965
 
942
966
  <code class="ruby"> when :max_length</code>
943
967
  </li>
944
968
 
945
- <li class="covered" data-hits="4" data-linenumber="143">
969
+ <li class="covered" data-hits="4" data-linenumber="147">
946
970
  <span class="hits">4</span>
947
971
 
948
972
  <code class="ruby"> raise InvalidParameterError, &quot;Parameter cannot have length greater than #{value}&quot; unless param.nil? || value &gt;= param.length</code>
949
973
  </li>
950
974
 
951
- <li class="never" data-hits="" data-linenumber="144">
975
+ <li class="never" data-hits="" data-linenumber="148">
952
976
 
953
977
 
954
978
  <code class="ruby"> end</code>
955
979
  </li>
956
980
 
957
- <li class="never" data-hits="" data-linenumber="145">
981
+ <li class="never" data-hits="" data-linenumber="149">
958
982
 
959
983
 
960
984
  <code class="ruby"> end</code>
961
985
  </li>
962
986
 
963
- <li class="never" data-hits="" data-linenumber="146">
987
+ <li class="never" data-hits="" data-linenumber="150">
964
988
 
965
989
 
966
990
  <code class="ruby"> end</code>
967
991
  </li>
968
992
 
969
- <li class="never" data-hits="" data-linenumber="147">
993
+ <li class="never" data-hits="" data-linenumber="151">
970
994
 
971
995
 
972
996
  <code class="ruby"></code>
973
997
  </li>
974
998
 
975
- <li class="covered" data-hits="1" data-linenumber="148">
999
+ <li class="covered" data-hits="1" data-linenumber="152">
976
1000
  <span class="hits">1</span>
977
1001
 
978
1002
  <code class="ruby"> def validate_one_of!(params, names, options)</code>
979
1003
  </li>
980
1004
 
981
- <li class="covered" data-hits="47" data-linenumber="149">
1005
+ <li class="covered" data-hits="47" data-linenumber="153">
982
1006
  <span class="hits">47</span>
983
1007
 
984
1008
  <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>
985
1009
  </li>
986
1010
 
987
- <li class="never" data-hits="" data-linenumber="150">
1011
+ <li class="never" data-hits="" data-linenumber="154">
988
1012
 
989
1013
 
990
1014
  <code class="ruby"> end</code>
991
1015
  </li>
992
1016
 
993
- <li class="never" data-hits="" data-linenumber="151">
1017
+ <li class="never" data-hits="" data-linenumber="155">
994
1018
 
995
1019
 
996
1020
  <code class="ruby"></code>
997
1021
  </li>
998
1022
 
999
- <li class="covered" data-hits="1" data-linenumber="152">
1023
+ <li class="covered" data-hits="1" data-linenumber="156">
1000
1024
  <span class="hits">1</span>
1001
1025
 
1002
1026
  <code class="ruby"> def validate_any_of!(params, names, options)</code>
1003
1027
  </li>
1004
1028
 
1005
- <li class="covered" data-hits="32" data-linenumber="153">
1029
+ <li class="covered" data-hits="32" data-linenumber="157">
1006
1030
  <span class="hits">32</span>
1007
1031
 
1008
1032
  <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>
1009
1033
  </li>
1010
1034
 
1011
- <li class="never" data-hits="" data-linenumber="154">
1035
+ <li class="never" data-hits="" data-linenumber="158">
1012
1036
 
1013
1037
 
1014
1038
  <code class="ruby"> end</code>
1015
1039
  </li>
1016
1040
 
1017
- <li class="never" data-hits="" data-linenumber="155">
1041
+ <li class="never" data-hits="" data-linenumber="159">
1018
1042
 
1019
1043
 
1020
1044
  <code class="ruby"></code>
1021
1045
  </li>
1022
1046
 
1023
- <li class="never" data-hits="" data-linenumber="156">
1047
+ <li class="never" data-hits="" data-linenumber="160">
1024
1048
 
1025
1049
 
1026
1050
  <code class="ruby"> # ActiveSupport #present? and #blank? without patching Object</code>
1027
1051
  </li>
1028
1052
 
1029
- <li class="covered" data-hits="1" data-linenumber="157">
1053
+ <li class="covered" data-hits="1" data-linenumber="161">
1030
1054
  <span class="hits">1</span>
1031
1055
 
1032
1056
  <code class="ruby"> def present?(object)</code>
1033
1057
  </li>
1034
1058
 
1035
- <li class="covered" data-hits="58" data-linenumber="158">
1059
+ <li class="covered" data-hits="58" data-linenumber="162">
1036
1060
  <span class="hits">58</span>
1037
1061
 
1038
1062
  <code class="ruby"> !blank?(object)</code>
1039
1063
  </li>
1040
1064
 
1041
- <li class="never" data-hits="" data-linenumber="159">
1065
+ <li class="never" data-hits="" data-linenumber="163">
1042
1066
 
1043
1067
 
1044
1068
  <code class="ruby"> end</code>
1045
1069
  </li>
1046
1070
 
1047
- <li class="never" data-hits="" data-linenumber="160">
1071
+ <li class="never" data-hits="" data-linenumber="164">
1048
1072
 
1049
1073
 
1050
1074
  <code class="ruby"></code>
1051
1075
  </li>
1052
1076
 
1053
- <li class="covered" data-hits="1" data-linenumber="161">
1077
+ <li class="covered" data-hits="1" data-linenumber="165">
1054
1078
  <span class="hits">1</span>
1055
1079
 
1056
1080
  <code class="ruby"> def blank?(object)</code>
1057
1081
  </li>
1058
1082
 
1059
- <li class="covered" data-hits="58" data-linenumber="162">
1083
+ <li class="covered" data-hits="58" data-linenumber="166">
1060
1084
  <span class="hits">58</span>
1061
1085
 
1062
1086
  <code class="ruby"> object.respond_to?(:empty?) ? object.empty? : !object</code>
1063
1087
  </li>
1064
1088
 
1065
- <li class="never" data-hits="" data-linenumber="163">
1089
+ <li class="never" data-hits="" data-linenumber="167">
1066
1090
 
1067
1091
 
1068
1092
  <code class="ruby"> end</code>
1069
1093
  </li>
1070
1094
 
1071
- <li class="never" data-hits="" data-linenumber="164">
1095
+ <li class="never" data-hits="" data-linenumber="168">
1072
1096
 
1073
1097
 
1074
1098
  <code class="ruby"> end</code>
1075
1099
  </li>
1076
1100
 
1077
- <li class="never" data-hits="" data-linenumber="165">
1101
+ <li class="never" data-hits="" data-linenumber="169">
1078
1102
 
1079
1103
 
1080
1104
  <code class="ruby"></code>
1081
1105
  </li>
1082
1106
 
1083
- <li class="covered" data-hits="1" data-linenumber="166">
1107
+ <li class="covered" data-hits="1" data-linenumber="170">
1084
1108
  <span class="hits">1</span>
1085
1109
 
1086
1110
  <code class="ruby"> helpers Param</code>
1087
1111
  </li>
1088
1112
 
1089
- <li class="never" data-hits="" data-linenumber="167">
1113
+ <li class="never" data-hits="" data-linenumber="171">
1090
1114
 
1091
1115
 
1092
1116
  <code class="ruby">end</code>