sinatra-param 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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>