sinatra-param-validator 0.7.0 → 0.8.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: d0704f790d84c6f56cc3f0d68f55ed3bcd95b5fa76fb9d185bb3b5421bb62348
4
- data.tar.gz: 352199c3b098d9adb0e1666ee538b373a72afdb13c1cbd62ea686943fc7e4954
3
+ metadata.gz: e29508460ddab60a223a9a68607cf1463c71b4bec8b4aa8fc74596d25174a296
4
+ data.tar.gz: 2e25b479bfe8de0cde6eae7ccc2bb060ea66dee9d547120d5daca616d1c87f42
5
5
  SHA512:
6
- metadata.gz: 8df45995e8e88d7ead9edfdd8985f2b43a5904e08005f205a815286f2fa0fb36acb98494538f5bb30ee7733db8f8faf061cfc09ce48763f26176538881c9135e
7
- data.tar.gz: 03caf360ce521261397eca9558f5dfe8f74df3bd6a3c1932cd5fda802f257f3025199cbd0c8f29098b231ccf6fea982947ff52fc5b19ea5309e746a8e5384293
6
+ metadata.gz: b373671727a80340866970d2f1ef3b327735d622bcccad5bd27fcdf622351790cf017d0f516280ed741956ab1c0d249c6d546bad3b2a07f08c5943ca324f0437
7
+ data.tar.gz: 57c9eeb497333f36fb2eb2167edf4bd47df88139bcd29e6201402893c325ec3bb4888254278a7ab46a2f6d185079a5e7173478ba510f3b621af47b39fb68fe7e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.8.0] - 2022-07-09
4
+
5
+ - Add form helpers for form validator
6
+
3
7
  ## [0.7.0] - 2022-06-09
4
8
 
5
9
  - Add `default` option for parameters
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sinatra-param-validator (0.7.0)
4
+ sinatra-param-validator (0.8.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.13
88
+ 2.3.17
@@ -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)
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Sinatra
4
4
  module ParamValidator
5
- VERSION = '0.7.0'
5
+ VERSION = '0.8.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.7.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-06-09 00:00:00.000000000 Z
11
+ date: 2022-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack-test