sinatra-param-validator 0.8.0 → 0.11.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 +4 -4
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +2 -2
- data/README.md +0 -9
- data/lib/sinatra/param_validator/parser.rb +6 -6
- data/lib/sinatra/param_validator/validator.rb +1 -1
- data/lib/sinatra/param_validator/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5b9804f13269515b113bb73dfe65c20304145df75e20d00f41ed0c231d6fd99e
|
|
4
|
+
data.tar.gz: c0c522b2ad74c5c376a302ca4b9d141f981df498e42239fc1baa45baaab77e70
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 321cd999434f06ed80943b059aabe476745981d84f0446a247691fea1e836cbdbb011ce8adabe3278f43c5ecfc248f59b603f39aa187e332188531d1030130f0
|
|
7
|
+
data.tar.gz: e7a9052b36681fe7f84e5b6b519f04db2ea915008511a23027ffa7c0134d9458e9df08b3f356507d149eda4f63c2ea4773c63dbb0acf90f9014a99c3d7a38635
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
+
## [0.11.0] - 2022-07-15
|
|
4
|
+
|
|
5
|
+
- Fix setting param values to false
|
|
6
|
+
|
|
7
|
+
## [0.10.0] - 2022-07-12
|
|
8
|
+
|
|
9
|
+
- Remove the `block` option from validators
|
|
10
|
+
|
|
11
|
+
## [0.9.0] - 2022-07-09
|
|
12
|
+
|
|
13
|
+
- Change parser to parse the definition outside of the initialize block
|
|
14
|
+
|
|
3
15
|
## [0.8.0] - 2022-07-09
|
|
4
16
|
|
|
5
17
|
- Add form helpers for form validator
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -126,15 +126,6 @@ param :number, Integer, required: true do |validator|
|
|
|
126
126
|
end
|
|
127
127
|
```
|
|
128
128
|
|
|
129
|
-
If you need to run some code in the route context, you can just use the `block` keyword:
|
|
130
|
-
|
|
131
|
-
```ruby
|
|
132
|
-
block do |validator|
|
|
133
|
-
#...
|
|
134
|
-
validator.param :val, Integer
|
|
135
|
-
end
|
|
136
|
-
```
|
|
137
|
-
|
|
138
129
|
## Rules
|
|
139
130
|
|
|
140
131
|
Rules work on multiple parameters:
|
|
@@ -12,22 +12,22 @@ module Sinatra
|
|
|
12
12
|
class Parser < SimpleDelegator
|
|
13
13
|
attr_reader :errors
|
|
14
14
|
|
|
15
|
-
def initialize(
|
|
15
|
+
def initialize(context)
|
|
16
16
|
super(context)
|
|
17
17
|
@context = context
|
|
18
18
|
@errors = {}
|
|
19
|
+
end
|
|
19
20
|
|
|
21
|
+
def parse(definition, *args)
|
|
20
22
|
instance_exec(*args, &definition)
|
|
23
|
+
|
|
24
|
+
self
|
|
21
25
|
end
|
|
22
26
|
|
|
23
27
|
def add_error(key, error)
|
|
24
28
|
@errors[key] = @errors.fetch(key, []).concat(Array(error))
|
|
25
29
|
end
|
|
26
30
|
|
|
27
|
-
def block(&block)
|
|
28
|
-
run_block :block, block
|
|
29
|
-
end
|
|
30
|
-
|
|
31
31
|
def param(key, type, default: nil, message: nil, **args, &block)
|
|
32
32
|
parameter = Parameter.new(@context.params[key], type, **args)
|
|
33
33
|
update_params_hash key, parameter, default
|
|
@@ -61,7 +61,7 @@ module Sinatra
|
|
|
61
61
|
|
|
62
62
|
def update_params_hash(key, parameter, default)
|
|
63
63
|
if @context.params.key?(key)
|
|
64
|
-
@context.params[key] = parameter.coerced
|
|
64
|
+
@context.params[key] = parameter.coerced unless parameter.coerced.nil?
|
|
65
65
|
elsif !default.nil?
|
|
66
66
|
@context.params[key] = default.respond_to?(:call) ? default.call : default
|
|
67
67
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sinatra-param-validator
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.11.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Rick Selby
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-07-
|
|
11
|
+
date: 2022-07-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rack-test
|