sinatra-param-validator 0.7.0 → 0.8.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 +4 -0
- data/Gemfile.lock +2 -2
- data/lib/sinatra/param_validator/validator/form.rb +27 -0
- 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: e29508460ddab60a223a9a68607cf1463c71b4bec8b4aa8fc74596d25174a296
|
4
|
+
data.tar.gz: 2e25b479bfe8de0cde6eae7ccc2bb060ea66dee9d547120d5daca616d1c87f42
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b373671727a80340866970d2f1ef3b327735d622bcccad5bd27fcdf622351790cf017d0f516280ed741956ab1c0d249c6d546bad3b2a07f08c5943ca324f0437
|
7
|
+
data.tar.gz: 57c9eeb497333f36fb2eb2167edf4bd47df88139bcd29e6201402893c325ec3bb4888254278a7ab46a2f6d185079a5e7173478ba510f3b621af47b39fb68fe7e
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
@@ -5,6 +5,33 @@ module Sinatra
|
|
5
5
|
class Validator
|
6
6
|
# A form validator
|
7
7
|
class Form < Validator
|
8
|
+
# Helpers for Sinatra templates
|
9
|
+
module Helpers
|
10
|
+
def form_values(hash)
|
11
|
+
hash = IndifferentHash[hash]
|
12
|
+
flash.now[:params] = flash.now.key?(:params) ? hash.merge(flash.now[:params]) : hash
|
13
|
+
end
|
14
|
+
|
15
|
+
def form_value(field)
|
16
|
+
flash[:params]&.fetch(field, nil)
|
17
|
+
end
|
18
|
+
|
19
|
+
def form_error?(field = nil)
|
20
|
+
return !flash[:form_errors].nil? && !flash[:form_errors]&.empty? if field.nil?
|
21
|
+
|
22
|
+
(flash[:form_errors] || {}).key?(field)
|
23
|
+
end
|
24
|
+
|
25
|
+
def form_errors(field)
|
26
|
+
(flash[:form_errors] || {}).fetch(field, [])
|
27
|
+
end
|
28
|
+
|
29
|
+
def invalid_feedback(field, default = nil)
|
30
|
+
fields = Array(field)
|
31
|
+
fields.any? { |f| form_error? f } ? fields.map { |f| form_errors f }.flatten.join('<br />') : default
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
8
35
|
def handle_failure(context)
|
9
36
|
case context.request.preferred_type.to_s
|
10
37
|
when 'application/json' then return json_failure(context)
|
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.8.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-
|
11
|
+
date: 2022-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack-test
|