sinatra-param-validator 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +9 -3
- data/lib/sinatra/param_validator/parameter/common.rb +7 -3
- data/lib/sinatra/param_validator/parser.rb +2 -1
- data/lib/sinatra/param_validator/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1312fa49d8b256875f1c6de21269a7be31ab1c3f2ca0a5efdb9902c31b5406d4
|
4
|
+
data.tar.gz: 4b483ce648a24026e26964b0cdd358a4f1256ffe7dc810770e8dbf2b98204306
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2714270e73581d5beb88eb136516fc1d5275d05ebe2a3c5efca08d54b64bb2bcda467cb45cb4ab3fa7fee063606171356f9fe869cbedc0950afc7b92cb5dc8eb
|
7
|
+
data.tar.gz: 692691bde5e786c23897080967004fc5fb5b695d49942fd671db69ef6ec91c00771a0afbfc5e69954b5e22f8e585829c8e08a04b6a954cf14ec46b1c19dfdf8c
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -115,6 +115,15 @@ end
|
|
115
115
|
If you wish to indicate a validation failure within a block, raise `Sinatra::ParameterValidator::InvalidParameterError`
|
116
116
|
with a message, and it will be passed through as an error for the parameter.
|
117
117
|
|
118
|
+
If you need to do further validation with your parameter, the validator can be passed to the block:
|
119
|
+
|
120
|
+
```ruby
|
121
|
+
|
122
|
+
param :number, Integer, required: true do |validator|
|
123
|
+
validator.param :digit, Integer, min: params[:number]
|
124
|
+
end
|
125
|
+
```
|
126
|
+
|
118
127
|
## Rules
|
119
128
|
|
120
129
|
Rules work on multiple parameters:
|
@@ -149,7 +158,6 @@ post '/new-user', validate_form: :new_user do
|
|
149
158
|
# ...
|
150
159
|
end
|
151
160
|
|
152
|
-
|
153
161
|
get '/user/:id', validate_url_param: :user_id do
|
154
162
|
# ...
|
155
163
|
end
|
@@ -170,8 +178,6 @@ post '/number', validate: vi(:new_user, 10) do
|
|
170
178
|
end
|
171
179
|
```
|
172
180
|
|
173
|
-
|
174
|
-
|
175
181
|
## Development
|
176
182
|
|
177
183
|
After checking out the repo, run `bundle install` to install dependencies. Then, run `rake spec` to run the tests.
|
@@ -9,13 +9,17 @@ module Sinatra
|
|
9
9
|
|
10
10
|
def initialize(value, **options)
|
11
11
|
@errors = []
|
12
|
-
@coerced = coerce value
|
13
12
|
@options = options
|
14
13
|
|
14
|
+
begin
|
15
|
+
@coerced = coerce value
|
16
|
+
rescue ArgumentError
|
17
|
+
@errors.push "'#{value}' is not a valid #{self.class}"
|
18
|
+
return
|
19
|
+
end
|
20
|
+
|
15
21
|
validate_options
|
16
22
|
validate unless nil_and_ok?
|
17
|
-
rescue ArgumentError
|
18
|
-
@errors.push "'#{value}' is not a valid #{self.class}"
|
19
23
|
end
|
20
24
|
|
21
25
|
def valid?
|