sinatra-param-validator 0.17.0 → 0.18.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc96ce9554cce1728ccfe8611b8a32683f59ecab0cb0c30f2048a4f36546cb85
4
- data.tar.gz: 5a9a45fee8f03500085750f0af21c30e0d36c1d66dcd7c0799049435aae9cba4
3
+ metadata.gz: d4f1bc5e4d1f488a104acd1293e9473c1d942d43ff64da9d33572400fb0b2374
4
+ data.tar.gz: 320661e0e68e371beecd41c98e4405f654468b75936fd0cca5228c18e3d72d6d
5
5
  SHA512:
6
- metadata.gz: 87356c1bd08e3969b8e5d35709af6a18b4be740a38eedf9db3744741823fe4c00a7a494aaaece03cfe5495cd7acc149585f7eaa4036b4a36e91117063bf96fa8
7
- data.tar.gz: d71e87ff1462b200e8a36a5f0d0fdd7321fa4b28356951baeba2704afa0246989c6bd95d517cb913b0bb66e2355cb332a5776c04108f7bbc1feb36d8e776047c
6
+ metadata.gz: e2b98fcb24054495d43650468c82f95bfa296f59e2f8a72e71ebbef48a6c7c7aa1d82b5973173495c4c9118704df354d4a3844ad53c452b6b6758f609504ba8c
7
+ data.tar.gz: ac02e5fa56440c297fc9fb41cd1bcb186bf0b472f2bbc7eab49a7f62d803dcdebb44dffad4dd43549f72d4e931536564b9054a84e41c30981e3bccc86ba04991
data/.rubocop.yml CHANGED
@@ -1,23 +1,8 @@
1
1
  ---
2
- require:
3
- - rubocop-performance
4
- - rubocop-rake
5
- - rubocop-rspec
2
+ inherit_gem:
3
+ rubocop-rickselby:
4
+ - config/default.yml
5
+ - config/rspec.yml
6
6
 
7
7
  AllCops:
8
- DisplayStyleGuide: true
9
- NewCops: enable
10
- TargetRubyVersion: 2.6
11
-
12
- # Disable block-length check for rspec and gemspec
13
- Metrics/BlockLength:
14
- Exclude:
15
- - 'spec/**/*.rb'
16
- - '*.gemspec'
17
-
18
- # Extend permitted line length
19
- Layout/LineLength:
20
- Max: 120
21
-
22
- RSpec/NestedGroups:
23
- Max: 4
8
+ TargetRubyVersion: 3.2
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.6
1
+ 3.4.3
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.18.0] - 2025-04-26
4
+
5
+ - Drop support for rubies < 3.2
6
+
3
7
  ## [0.17.0] - 2022-07-19
4
8
 
5
9
  - `param` should return the coerced value
data/Gemfile CHANGED
@@ -1,6 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- source 'https://rubygems.org'
3
+ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in sinatra-param_validator-validator.gemspec
6
6
  gemspec
7
+
8
+ gem "rack-test", "~> 2.2"
9
+ gem "rake", "~> 13.2"
10
+ gem "rspec", "~> 3.13"
11
+ gem "rubocop-rickselby", "~> 0.56"
12
+ gem "sinatra-contrib", "~> 4.1"
data/Gemfile.lock CHANGED
@@ -1,88 +1,203 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sinatra-param-validator (0.17.0)
4
+ sinatra-param-validator (0.18.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- ast (2.4.2)
10
- diff-lcs (1.5.0)
9
+ actionview (8.0.2)
10
+ activesupport (= 8.0.2)
11
+ builder (~> 3.1)
12
+ erubi (~> 1.11)
13
+ rails-dom-testing (~> 2.2)
14
+ rails-html-sanitizer (~> 1.6)
15
+ activesupport (8.0.2)
16
+ base64
17
+ benchmark (>= 0.3)
18
+ bigdecimal
19
+ concurrent-ruby (~> 1.0, >= 1.3.1)
20
+ connection_pool (>= 2.2.5)
21
+ drb
22
+ i18n (>= 1.6, < 2)
23
+ logger (>= 1.4.2)
24
+ minitest (>= 5.1)
25
+ securerandom (>= 0.3)
26
+ tzinfo (~> 2.0, >= 2.0.5)
27
+ uri (>= 0.13.1)
28
+ ast (2.4.3)
29
+ base64 (0.2.0)
30
+ benchmark (0.4.0)
31
+ better_html (2.1.1)
32
+ actionview (>= 6.0)
33
+ activesupport (>= 6.0)
34
+ ast (~> 2.0)
35
+ erubi (~> 1.4)
36
+ parser (>= 2.4)
37
+ smart_properties
38
+ bigdecimal (3.1.9)
39
+ builder (3.3.0)
40
+ concurrent-ruby (1.3.5)
41
+ connection_pool (2.5.2)
42
+ crass (1.0.6)
43
+ diff-lcs (1.6.0)
44
+ drb (2.2.1)
45
+ erb_lint (0.9.0)
46
+ activesupport
47
+ better_html (>= 2.0.1)
48
+ parser (>= 2.7.1.4)
49
+ rainbow
50
+ rubocop (>= 1)
51
+ smart_properties
52
+ erubi (1.13.1)
53
+ i18n (1.14.7)
54
+ concurrent-ruby (~> 1.0)
55
+ json (2.11.3)
56
+ language_server-protocol (3.17.0.4)
57
+ lint_roller (1.1.0)
58
+ logger (1.7.0)
59
+ loofah (2.24.0)
60
+ crass (~> 1.0.2)
61
+ nokogiri (>= 1.12.0)
62
+ minitest (5.25.5)
11
63
  multi_json (1.15.0)
12
- mustermann (1.1.1)
64
+ mustermann (3.0.3)
13
65
  ruby2_keywords (~> 0.0.1)
14
- parallel (1.22.1)
15
- parser (3.1.2.0)
66
+ nokogiri (1.18.8-x86_64-linux-gnu)
67
+ racc (~> 1.4)
68
+ parallel (1.27.0)
69
+ parser (3.3.8.0)
16
70
  ast (~> 2.4.1)
17
- rack (2.2.3)
18
- rack-protection (2.2.0)
19
- rack
20
- rack-test (1.1.0)
21
- rack (>= 1.0, < 3)
71
+ racc
72
+ prism (1.4.0)
73
+ racc (1.8.1)
74
+ rack (3.1.13)
75
+ rack-protection (4.1.1)
76
+ base64 (>= 0.1.0)
77
+ logger (>= 1.6.0)
78
+ rack (>= 3.0.0, < 4)
79
+ rack-session (2.1.0)
80
+ base64 (>= 0.1.0)
81
+ rack (>= 3.0.0)
82
+ rack-test (2.2.0)
83
+ rack (>= 1.3)
84
+ rails-dom-testing (2.2.0)
85
+ activesupport (>= 5.0.0)
86
+ minitest
87
+ nokogiri (>= 1.6)
88
+ rails-html-sanitizer (1.6.2)
89
+ loofah (~> 2.21)
90
+ nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
22
91
  rainbow (3.1.1)
23
- rake (13.0.6)
24
- regexp_parser (2.4.0)
25
- rexml (3.2.5)
26
- rspec (3.11.0)
27
- rspec-core (~> 3.11.0)
28
- rspec-expectations (~> 3.11.0)
29
- rspec-mocks (~> 3.11.0)
30
- rspec-core (3.11.0)
31
- rspec-support (~> 3.11.0)
32
- rspec-expectations (3.11.0)
92
+ rake (13.2.1)
93
+ regexp_parser (2.10.0)
94
+ rexml (3.4.1)
95
+ rspec (3.13.0)
96
+ rspec-core (~> 3.13.0)
97
+ rspec-expectations (~> 3.13.0)
98
+ rspec-mocks (~> 3.13.0)
99
+ rspec-core (3.13.3)
100
+ rspec-support (~> 3.13.0)
101
+ rspec-expectations (3.13.3)
33
102
  diff-lcs (>= 1.2.0, < 2.0)
34
- rspec-support (~> 3.11.0)
35
- rspec-mocks (3.11.1)
103
+ rspec-support (~> 3.13.0)
104
+ rspec-mocks (3.13.2)
36
105
  diff-lcs (>= 1.2.0, < 2.0)
37
- rspec-support (~> 3.11.0)
38
- rspec-support (3.11.0)
39
- rubocop (1.29.1)
106
+ rspec-support (~> 3.13.0)
107
+ rspec-support (3.13.2)
108
+ rubocop (1.75.3)
109
+ json (~> 2.3)
110
+ language_server-protocol (~> 3.17.0.2)
111
+ lint_roller (~> 1.1.0)
40
112
  parallel (~> 1.10)
41
- parser (>= 3.1.0.0)
113
+ parser (>= 3.3.0.2)
42
114
  rainbow (>= 2.2.2, < 4.0)
43
- regexp_parser (>= 1.8, < 3.0)
44
- rexml (>= 3.2.5, < 4.0)
45
- rubocop-ast (>= 1.17.0, < 2.0)
115
+ regexp_parser (>= 2.9.3, < 3.0)
116
+ rubocop-ast (>= 1.44.0, < 2.0)
46
117
  ruby-progressbar (~> 1.7)
47
- unicode-display_width (>= 1.4.0, < 3.0)
48
- rubocop-ast (1.18.0)
49
- parser (>= 3.1.1.0)
50
- rubocop-performance (1.13.3)
51
- rubocop (>= 1.7.0, < 2.0)
52
- rubocop-ast (>= 0.4.0)
53
- rubocop-rake (0.6.0)
54
- rubocop (~> 1.0)
55
- rubocop-rspec (2.10.0)
56
- rubocop (~> 1.19)
57
- ruby-progressbar (1.11.0)
118
+ unicode-display_width (>= 2.4.0, < 4.0)
119
+ rubocop-ast (1.44.1)
120
+ parser (>= 3.3.7.2)
121
+ prism (~> 1.4)
122
+ rubocop-capybara (2.22.1)
123
+ lint_roller (~> 1.1)
124
+ rubocop (~> 1.72, >= 1.72.1)
125
+ rubocop-factory_bot (2.27.1)
126
+ lint_roller (~> 1.1)
127
+ rubocop (~> 1.72, >= 1.72.1)
128
+ rubocop-performance (1.25.0)
129
+ lint_roller (~> 1.1)
130
+ rubocop (>= 1.75.0, < 2.0)
131
+ rubocop-ast (>= 1.38.0, < 2.0)
132
+ rubocop-rails (2.31.0)
133
+ activesupport (>= 4.2.0)
134
+ lint_roller (~> 1.1)
135
+ rack (>= 1.1)
136
+ rubocop (>= 1.75.0, < 2.0)
137
+ rubocop-ast (>= 1.38.0, < 2.0)
138
+ rubocop-rails-accessibility (1.0.1)
139
+ rubocop (>= 1.0.0)
140
+ rubocop-rake (0.7.1)
141
+ lint_roller (~> 1.1)
142
+ rubocop (>= 1.72.1)
143
+ rubocop-rickselby (0.56.0)
144
+ erb_lint (~> 0.9.0)
145
+ rexml (~> 3.3)
146
+ rubocop (~> 1.75.0)
147
+ rubocop-capybara (~> 2.22.0)
148
+ rubocop-factory_bot (~> 2.27.0)
149
+ rubocop-performance (~> 1.25.0)
150
+ rubocop-rails (~> 2.31.0)
151
+ rubocop-rails-accessibility (~> 1.0.0)
152
+ rubocop-rake (~> 0.7.0)
153
+ rubocop-rspec (~> 3.6.0)
154
+ rubocop-rspec_rails (~> 2.31.0)
155
+ rubocop-sequel (~> 0.4.0)
156
+ rubocop-rspec (3.6.0)
157
+ lint_roller (~> 1.1)
158
+ rubocop (~> 1.72, >= 1.72.1)
159
+ rubocop-rspec_rails (2.31.0)
160
+ lint_roller (~> 1.1)
161
+ rubocop (~> 1.72, >= 1.72.1)
162
+ rubocop-rspec (~> 3.5)
163
+ rubocop-sequel (0.4.1)
164
+ lint_roller (~> 1.1)
165
+ rubocop (>= 1.72.1, < 2)
166
+ ruby-progressbar (1.13.0)
58
167
  ruby2_keywords (0.0.5)
59
- sinatra (2.2.0)
60
- mustermann (~> 1.0)
61
- rack (~> 2.2)
62
- rack-protection (= 2.2.0)
168
+ securerandom (0.4.1)
169
+ sinatra (4.1.1)
170
+ logger (>= 1.6.0)
171
+ mustermann (~> 3.0)
172
+ rack (>= 3.0.0, < 4)
173
+ rack-protection (= 4.1.1)
174
+ rack-session (>= 2.0.0, < 3)
63
175
  tilt (~> 2.0)
64
- sinatra-contrib (2.2.0)
65
- multi_json
66
- mustermann (~> 1.0)
67
- rack-protection (= 2.2.0)
68
- sinatra (= 2.2.0)
176
+ sinatra-contrib (4.1.1)
177
+ multi_json (>= 0.0.2)
178
+ mustermann (~> 3.0)
179
+ rack-protection (= 4.1.1)
180
+ sinatra (= 4.1.1)
69
181
  tilt (~> 2.0)
70
- tilt (2.0.10)
71
- unicode-display_width (2.1.0)
182
+ smart_properties (1.17.0)
183
+ tilt (2.6.0)
184
+ tzinfo (2.0.6)
185
+ concurrent-ruby (~> 1.0)
186
+ unicode-display_width (3.1.4)
187
+ unicode-emoji (~> 4.0, >= 4.0.4)
188
+ unicode-emoji (4.0.4)
189
+ uri (1.0.3)
72
190
 
73
191
  PLATFORMS
74
192
  x86_64-linux
75
193
 
76
194
  DEPENDENCIES
77
- rack-test (~> 1.1)
78
- rake (~> 13.0)
79
- rspec (~> 3.0)
80
- rubocop (~> 1.0)
81
- rubocop-performance (~> 1.0)
82
- rubocop-rake (~> 0.5)
83
- rubocop-rspec (~> 2.0)
84
- sinatra-contrib (~> 2.0)
195
+ rack-test (~> 2.2)
196
+ rake (~> 13.2)
197
+ rspec (~> 3.13)
198
+ rubocop-rickselby (~> 0.56)
199
+ sinatra-contrib (~> 4.1)
85
200
  sinatra-param-validator!
86
201
 
87
202
  BUNDLED WITH
88
- 2.3.16
203
+ 2.6.8
data/Rakefile CHANGED
@@ -1,11 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
8
- require 'rubocop/rake_task'
8
+ require "rubocop/rake_task"
9
9
 
10
10
  RuboCop::RakeTask.new
11
11
 
@@ -5,7 +5,7 @@ module Sinatra
5
5
  # Helpers for validating parameters
6
6
  module Camelize
7
7
  def camelize(symbol)
8
- symbol.to_s.split('_').map(&:capitalize).join
8
+ symbol.to_s.split("_").map(&:capitalize).join
9
9
  end
10
10
  end
11
11
  end
@@ -6,8 +6,8 @@ module Sinatra
6
6
  module Helpers
7
7
  def filter_params
8
8
  params.each do |(param, value)|
9
- params[param] = nil if value == ''
10
- params[param] = [] if value == ['']
9
+ params[param] = nil if value == ""
10
+ params[param] = [] if value == [""]
11
11
  end
12
12
  rescue StandardError => e
13
13
  raise "Filter params failed: #{e}"
@@ -23,18 +23,18 @@ module Sinatra
23
23
  end
24
24
  params[key]
25
25
  rescue NameError
26
- raise 'Invalid parameter type'
26
+ raise "Invalid parameter type"
27
27
  end
28
28
 
29
- def rule(name, *args, **kwargs, &block)
30
- rule = Rule.new(name, params, *args, **kwargs)
29
+ def rule(name, *, **, &block)
30
+ rule = Rule.new(name, params, *, **)
31
31
  if rule.passes?
32
32
  _run_block(:rules, block) if block
33
33
  else
34
34
  _handle_error :rules, rule.errors unless rule.passes?
35
35
  end
36
36
  rescue NameError
37
- raise 'Invalid rule type'
37
+ raise "Invalid rule type"
38
38
  end
39
39
 
40
40
  def validate(klass, identifier)
@@ -52,7 +52,7 @@ module Sinatra
52
52
  end
53
53
 
54
54
  def _run_block(key, block)
55
- args = block.arity == 1 ? [self] : []
55
+ args = (block.arity == 1) ? [self] : []
56
56
  instance_exec(*args, &block)
57
57
  rescue InvalidParameterError => e
58
58
  _handle_error key, e.message
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -15,7 +15,7 @@ module Sinatra
15
15
  def coerce(value)
16
16
  return nil if value.nil?
17
17
  return value if value.is_a? ::Array
18
- return value.split(',') if value.is_a? ::String
18
+ return value.split(",") if value.is_a? ::String
19
19
 
20
20
  raise ArgumentError
21
21
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -27,7 +27,7 @@ module Sinatra
27
27
  end
28
28
 
29
29
  def validate_options
30
- @options.each { |key, _| raise "Unknown option '#{key}' for #{self.class}" unless respond_to? key }
30
+ @options.each_key { |key| raise "Unknown option '#{key}' for #{self.class}" unless respond_to? key }
31
31
  end
32
32
  private :validate_options
33
33
 
@@ -64,7 +64,7 @@ module Sinatra
64
64
  private :nil_and_ok?
65
65
 
66
66
  def required(enabled)
67
- @errors.push 'Parameter is required' if enabled && @coerced.nil?
67
+ @errors.push "Parameter is required" if enabled && @coerced.nil?
68
68
  end
69
69
  end
70
70
 
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'date'
4
- require_relative 'common'
3
+ require "date"
4
+ require_relative "common"
5
5
 
6
6
  module Sinatra
7
7
  module ParamValidator
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -15,7 +15,7 @@ module Sinatra
15
15
  def coerce(value)
16
16
  return nil if value.nil?
17
17
  return value if value.is_a? ::Hash
18
- return value.split(',').to_h { |s| s.split(':') } if value.is_a? ::String
18
+ return value.split(",").to_h { |s| s.split(":") } if value.is_a? ::String
19
19
 
20
20
  raise ArgumentError
21
21
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'time'
4
- require_relative 'common'
3
+ require "time"
4
+ require_relative "common"
5
5
 
6
6
  module Sinatra
7
7
  module ParamValidator
@@ -1,14 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'camelize'
4
- require_relative 'parameter/array'
5
- require_relative 'parameter/boolean'
6
- require_relative 'parameter/date'
7
- require_relative 'parameter/float'
8
- require_relative 'parameter/hash'
9
- require_relative 'parameter/integer'
10
- require_relative 'parameter/string'
11
- require_relative 'parameter/time'
3
+ require_relative "camelize"
4
+ require_relative "parameter/array"
5
+ require_relative "parameter/boolean"
6
+ require_relative "parameter/date"
7
+ require_relative "parameter/float"
8
+ require_relative "parameter/hash"
9
+ require_relative "parameter/integer"
10
+ require_relative "parameter/string"
11
+ require_relative "parameter/time"
12
12
 
13
13
  module Sinatra
14
14
  module ParamValidator
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -12,7 +12,7 @@ module Sinatra
12
12
  def validate
13
13
  return if count.zero? || count == @fields.count
14
14
 
15
- @errors.push "All or none of [#{@fields.join ', '}] must be provided"
15
+ @errors.push "All or none of [#{@fields.join ", "}] must be provided"
16
16
  end
17
17
  end
18
18
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -10,7 +10,7 @@ module Sinatra
10
10
  include Common
11
11
 
12
12
  def validate
13
- @errors.push "One of [#{@fields.join ', '}] must be provided" if count < 1
13
+ @errors.push "One of [#{@fields.join ", "}] must be provided" if count < 1
14
14
  end
15
15
  end
16
16
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'common'
3
+ require_relative "common"
4
4
 
5
5
  module Sinatra
6
6
  module ParamValidator
@@ -10,8 +10,8 @@ module Sinatra
10
10
  include Common
11
11
 
12
12
  def validate
13
- @errors.push "Only one of [#{@fields.join ', '}] is allowed" if count > 1
14
- @errors.push "One of [#{@fields.join ', '}] must be provided" if count < 1
13
+ @errors.push "Only one of [#{@fields.join ", "}] is allowed" if count > 1
14
+ @errors.push "One of [#{@fields.join ", "}] must be provided" if count < 1
15
15
  end
16
16
  end
17
17
  end
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'camelize'
4
- require_relative 'rule/all_or_none_of'
5
- require_relative 'rule/any_of'
6
- require_relative 'rule/one_of'
3
+ require_relative "camelize"
4
+ require_relative "rule/all_or_none_of"
5
+ require_relative "rule/any_of"
6
+ require_relative "rule/one_of"
7
7
 
8
8
  module Sinatra
9
9
  module ParamValidator
@@ -12,10 +12,10 @@ module Sinatra
12
12
  class << self
13
13
  include Camelize
14
14
 
15
- def new(name, params, *args, **kwargs)
15
+ def new(name, params, *, **)
16
16
  name = camelize(name) if name.is_a? Symbol
17
17
  klass = Object.const_get "Sinatra::ParamValidator::Rule::#{name}"
18
- klass.new(params, *args, **kwargs)
18
+ klass.new(params, *, **)
19
19
  end
20
20
  end
21
21
  end
@@ -28,14 +28,14 @@ module Sinatra
28
28
 
29
29
  def invalid_feedback(field, default = nil)
30
30
  fields = Array(field)
31
- fields.any? { |f| form_error? f } ? fields.map { |f| form_errors f }.flatten.join('<br />') : default
31
+ (fields.any? { |f| form_error? f }) ? fields.map { |f| form_errors f }.flatten.join("<br />") : default
32
32
  end
33
33
  end
34
34
 
35
35
  def handle_failure(context)
36
36
  case context.request.preferred_type.to_s
37
- when 'application/json' then return json_failure(context)
38
- when 'text/html'
37
+ when "application/json" then return json_failure(context)
38
+ when "text/html"
39
39
  return flash_failure(context) if defined? Sinatra::Flash
40
40
  end
41
41
 
@@ -44,13 +44,13 @@ module Sinatra
44
44
 
45
45
  def run(context)
46
46
  @original_params = context.params
47
- super(context)
47
+ super
48
48
  end
49
49
 
50
50
  private
51
51
 
52
52
  def json_failure(context)
53
- context.halt 400, { error: 'Validation failed', fields: @errors }.to_json
53
+ context.halt 400, { error: "Validation failed", fields: @errors }.to_json
54
54
  end
55
55
 
56
56
  def flash_failure(context)
@@ -15,9 +15,9 @@ module Sinatra
15
15
  raise ValidationFailedError, @errors
16
16
  end
17
17
 
18
- def run(context, *args)
18
+ def run(context, *)
19
19
  context.instance_variable_set(:@_validator_errors, {})
20
- context.instance_exec(*args, &@definition)
20
+ context.instance_exec(*, &@definition)
21
21
  @errors = context.remove_instance_variable(:@_validator_errors)
22
22
  rescue InvalidParameterError => e
23
23
  @errors[:general] = [e.message]
@@ -41,6 +41,6 @@ module Sinatra
41
41
  end
42
42
  end
43
43
 
44
- require_relative 'validation_failed_error'
45
- require_relative 'validator/form'
46
- require_relative 'validator/url_param'
44
+ require_relative "validation_failed_error"
45
+ require_relative "validator/form"
46
+ require_relative "validator/url_param"
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sinatra
4
4
  module ParamValidator
5
- VERSION = '0.17.0'
5
+ VERSION = "0.18.0"
6
6
  end
7
7
  end
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'param_validator/camelize'
4
- require_relative 'param_validator/definitions'
5
- require_relative 'param_validator/helpers'
6
- require_relative 'param_validator/identifier'
7
- require_relative 'param_validator/invalid_parameter_error'
8
- require_relative 'param_validator/parameter'
9
- require_relative 'param_validator/rule'
10
- require_relative 'param_validator/snake_case'
11
- require_relative 'param_validator/validator'
12
- require_relative 'param_validator/version'
3
+ require_relative "param_validator/camelize"
4
+ require_relative "param_validator/definitions"
5
+ require_relative "param_validator/helpers"
6
+ require_relative "param_validator/identifier"
7
+ require_relative "param_validator/invalid_parameter_error"
8
+ require_relative "param_validator/parameter"
9
+ require_relative "param_validator/rule"
10
+ require_relative "param_validator/snake_case"
11
+ require_relative "param_validator/validator"
12
+ require_relative "param_validator/version"
13
13
 
14
14
  module Sinatra
15
15
  # Module to register in Sinatra app
@@ -20,8 +20,8 @@ module Sinatra
20
20
  settings.validator_definitions.add(identifier, definition)
21
21
  end
22
22
 
23
- def vi(identifier, *args)
24
- Identifier.new(identifier, *args)
23
+ def vi(identifier, *)
24
+ Identifier.new(identifier, *)
25
25
  end
26
26
 
27
27
  class << self
@@ -34,7 +34,7 @@ module Sinatra
34
34
  validator_conditional app, :validate, Sinatra::ParamValidator::Validator
35
35
 
36
36
  Sinatra::ParamValidator::Validator.validators.each do |validator|
37
- validator_conditional app, :"validate_#{snake_case(validator.to_s.split('::').last)}", validator
37
+ validator_conditional app, :"validate_#{snake_case(validator.to_s.split("::").last)}", validator
38
38
  end
39
39
  end
40
40
 
@@ -1,22 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'lib/sinatra/param_validator/version'
3
+ require_relative "lib/sinatra/param_validator/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = 'sinatra-param-validator'
6
+ spec.name = "sinatra-param-validator"
7
7
  spec.version = Sinatra::ParamValidator::VERSION
8
- spec.authors = ['Rick Selby']
9
- spec.email = ['rick@selby-family.co.uk']
8
+ spec.authors = ["Rick Selby"]
9
+ spec.email = ["rick@selby-family.co.uk"]
10
10
 
11
- spec.summary = 'Validation of parameters for Sinatra'
12
- spec.homepage = 'https://github.com/rickselby/sinatra-param-validator'
13
- spec.license = 'MIT'
14
- spec.required_ruby_version = '>= 2.6.0'
11
+ spec.summary = "Validation of parameters for Sinatra"
12
+ spec.homepage = "https://github.com/rickselby/sinatra-param-validator"
13
+ spec.license = "MIT"
14
+ spec.required_ruby_version = ">= 3.2"
15
15
 
16
- spec.metadata['changelog_uri'] = 'https://github.com/rickselby/sinatra-para-validator/CHANGELOG.md'
17
- spec.metadata['homepage_uri'] = spec.homepage
18
- spec.metadata['source_code_uri'] = 'https://github.com/rickselby/sinatra-param-validator'
19
- spec.metadata['rubygems_mfa_required'] = 'true'
16
+ spec.metadata["changelog_uri"] = "https://github.com/rickselby/sinatra-para-validator/CHANGELOG.md"
17
+ spec.metadata["homepage_uri"] = spec.homepage
18
+ spec.metadata["source_code_uri"] = "https://github.com/rickselby/sinatra-param-validator"
19
+ spec.metadata["rubygems_mfa_required"] = "true"
20
20
 
21
21
  # Specify which files should be added to the gem when it is released.
22
22
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -25,14 +25,5 @@ Gem::Specification.new do |spec|
25
25
  (f == __FILE__) || f.match(%r{\A(?:spec/|\.git|appveyor)})
26
26
  end
27
27
  end
28
- spec.require_paths = ['lib']
29
-
30
- spec.add_development_dependency 'rack-test', '~> 1.1'
31
- spec.add_development_dependency 'rake', '~> 13.0'
32
- spec.add_development_dependency 'rspec', '~> 3.0'
33
- spec.add_development_dependency 'rubocop', '~> 1.0'
34
- spec.add_development_dependency 'rubocop-performance', '~> 1.0'
35
- spec.add_development_dependency 'rubocop-rake', '~> 0.5'
36
- spec.add_development_dependency 'rubocop-rspec', '~> 2.0'
37
- spec.add_development_dependency 'sinatra-contrib', '~> 2.0'
28
+ spec.require_paths = %w[lib]
38
29
  end
metadata CHANGED
@@ -1,128 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sinatra-param-validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0
4
+ version: 0.18.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rick Selby
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2022-07-19 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rack-test
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.1'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.1'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '13.0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '13.0'
41
- - !ruby/object:Gem::Dependency
42
- name: rspec
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.0'
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '1.0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: '1.0'
69
- - !ruby/object:Gem::Dependency
70
- name: rubocop-performance
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '1.0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '1.0'
83
- - !ruby/object:Gem::Dependency
84
- name: rubocop-rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "~>"
88
- - !ruby/object:Gem::Version
89
- version: '0.5'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - "~>"
95
- - !ruby/object:Gem::Version
96
- version: '0.5'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop-rspec
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '2.0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '2.0'
111
- - !ruby/object:Gem::Dependency
112
- name: sinatra-contrib
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '2.0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '2.0'
125
- description:
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
126
12
  email:
127
13
  - rick@selby-family.co.uk
128
14
  executables: []
@@ -174,7 +60,6 @@ metadata:
174
60
  homepage_uri: https://github.com/rickselby/sinatra-param-validator
175
61
  source_code_uri: https://github.com/rickselby/sinatra-param-validator
176
62
  rubygems_mfa_required: 'true'
177
- post_install_message:
178
63
  rdoc_options: []
179
64
  require_paths:
180
65
  - lib
@@ -182,15 +67,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
182
67
  requirements:
183
68
  - - ">="
184
69
  - !ruby/object:Gem::Version
185
- version: 2.6.0
70
+ version: '3.2'
186
71
  required_rubygems_version: !ruby/object:Gem::Requirement
187
72
  requirements:
188
73
  - - ">="
189
74
  - !ruby/object:Gem::Version
190
75
  version: '0'
191
76
  requirements: []
192
- rubygems_version: 3.1.6
193
- signing_key:
77
+ rubygems_version: 3.6.7
194
78
  specification_version: 4
195
79
  summary: Validation of parameters for Sinatra
196
80
  test_files: []