sinatra-params 1.0.4 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +0 -0
- data/Gemfile +0 -0
- data/LICENSE +0 -0
- data/README.md +0 -0
- data/lib/sinatra/params/configuration.rb +0 -0
- data/lib/sinatra/params/error.rb +0 -0
- data/lib/sinatra/params/version.rb +1 -1
- data/lib/sinatra/params.rb +6 -2
- data/sinatra-params.gemspec +0 -0
- data/test/server_test.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 39ccc057aea4dafe50c70dd995b80b1e2497195844169021579ae11887c8e6ec
|
4
|
+
data.tar.gz: cb03a5ef8fedeccb224d0a8e9cd494fc227298c28f7d0962473951083622ba03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 324d8d867d456ac009ed8e636254c88128c39ee7c2bdb19f572b1005929d6f7eb12ecc006e4d6d1931cda5d868e7f99ce184acbaf6c5213235dee8db36803838
|
7
|
+
data.tar.gz: 29822ff11739c19f9905ee71c9a38d5c26a0d432756f89f7e47eb66c2cf954da8a63600b182696c7a662190961dd4ecebf83f18d60a773e6cd210e1be9d92871
|
data/.gitignore
CHANGED
File without changes
|
data/Gemfile
CHANGED
File without changes
|
data/LICENSE
CHANGED
File without changes
|
data/README.md
CHANGED
File without changes
|
File without changes
|
data/lib/sinatra/params/error.rb
CHANGED
File without changes
|
data/lib/sinatra/params.rb
CHANGED
@@ -25,10 +25,12 @@ Conversion.convert = {
|
|
25
25
|
module Sinatra
|
26
26
|
module Params
|
27
27
|
def param (name, type, args = {})
|
28
|
-
raise ParameterNotFoundError(name) unless params.key? name
|
29
|
-
|
30
28
|
params.define_singleton_method(name.to_sym) { self[name] }
|
31
29
|
|
30
|
+
present = !params[name].nil?
|
31
|
+
|
32
|
+
raise ParameterNotFoundError(name) unless params.key? name or args[:optional]
|
33
|
+
|
32
34
|
if params[name].class == type
|
33
35
|
# Do nothing
|
34
36
|
elsif Conversion.respond_as[type] and params[name].respond_to? Conversion.respond_as[type]
|
@@ -39,6 +41,8 @@ module Sinatra
|
|
39
41
|
raise ParameterNotFoundError(name) unless args[:optional]
|
40
42
|
end
|
41
43
|
|
44
|
+
return unless present
|
45
|
+
|
42
46
|
raise ParameterOutOfRangeError(name) if args[:in] and args[:in].include? params[name]
|
43
47
|
raise ParameterOutOfRangeError(name) if args[:max] and args[:max] < params[name]
|
44
48
|
raise ParameterOutOfRangeError(name) if args[:min] and args[:min] > params[name]
|
data/sinatra-params.gemspec
CHANGED
File without changes
|
data/test/server_test.rb
CHANGED
@@ -6,7 +6,7 @@ helpers Sinatra::Params
|
|
6
6
|
|
7
7
|
post '/' do
|
8
8
|
param :content, String
|
9
|
-
param :birthday, Date, :max => Date.today.prev_year(18)
|
9
|
+
param :birthday, Date, :max => Date.today.prev_year(18), :optional => true
|
10
10
|
|
11
|
-
json :content => params.content
|
11
|
+
json :content => params.content, :present => !params.birthday.nil?
|
12
12
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sinatra-params
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felipe Cabrera
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-08-
|
11
|
+
date: 2018-08-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
89
|
version: '0'
|
90
90
|
requirements: []
|
91
91
|
rubyforge_project:
|
92
|
-
rubygems_version: 2.6
|
92
|
+
rubygems_version: 2.7.6
|
93
93
|
signing_key:
|
94
94
|
specification_version: 4
|
95
95
|
summary: Parameter validation for Sinatra.
|