sinatra-param-validator 0.8.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e29508460ddab60a223a9a68607cf1463c71b4bec8b4aa8fc74596d25174a296
4
- data.tar.gz: 2e25b479bfe8de0cde6eae7ccc2bb060ea66dee9d547120d5daca616d1c87f42
3
+ metadata.gz: 5b9804f13269515b113bb73dfe65c20304145df75e20d00f41ed0c231d6fd99e
4
+ data.tar.gz: c0c522b2ad74c5c376a302ca4b9d141f981df498e42239fc1baa45baaab77e70
5
5
  SHA512:
6
- metadata.gz: b373671727a80340866970d2f1ef3b327735d622bcccad5bd27fcdf622351790cf017d0f516280ed741956ab1c0d249c6d546bad3b2a07f08c5943ca324f0437
7
- data.tar.gz: 57c9eeb497333f36fb2eb2167edf4bd47df88139bcd29e6201402893c325ec3bb4888254278a7ab46a2f6d185079a5e7173478ba510f3b621af47b39fb68fe7e
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sinatra-param-validator (0.8.0)
4
+ sinatra-param-validator (0.11.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -85,4 +85,4 @@ DEPENDENCIES
85
85
  sinatra-param-validator!
86
86
 
87
87
  BUNDLED WITH
88
- 2.3.17
88
+ 2.3.16
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(definition, context, *args)
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 if 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
@@ -16,7 +16,7 @@ module Sinatra
16
16
  end
17
17
 
18
18
  def run(context, *args)
19
- @errors = Parser.new(@definition, context, *args).errors
19
+ @errors = Parser.new(context).parse(@definition, *args).errors
20
20
  end
21
21
 
22
22
  def success?
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sinatra
4
4
  module ParamValidator
5
- VERSION = '0.8.0'
5
+ VERSION = '0.11.0'
6
6
  end
7
7
  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.8.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-09 00:00:00.000000000 Z
11
+ date: 2022-07-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack-test