stark_parameters 0.1.1 → 0.1.2
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 +15 -0
- data/lib/stark_parameters/version.rb +1 -1
- data/lib/stark_parameters.rb +6 -3
- data/spec/lib/stark_parameters_spec.rb +2 -2
- metadata +5 -13
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZGUzNzI0OWE3OGRhNTRkOWJmYjg3NzU4NDAxY2I3OGU1NDI5MGEzNg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
NTE3ZTc5ODAwNzE1ZTM5YzBkMDgwOTI2Nzc1ZTJiNTZiYTRiZTY3OQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
NzIwMGQ2ZDI2Zjk4YTc1ZmI2MDZhY2U0M2ViZmIwNmNhMGIwY2ZjYjgyMTdm
|
10
|
+
ZGM3NTc1NWY0NTlhYzAyNmZkODljZTliN2VhMzQzYzYxNjMzMDdkNDMxN2Ez
|
11
|
+
ZDI2MDc2NzllNzY4ZjExNzc1OTUzZWI2ZWY0OTg3ZmIzZDIxODQ=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MjRkMjQwOWQ4NzdiN2VhOTc2MzgzZjAxNTRjYjhhYzYxMzhmZGJmZDdlYjE2
|
14
|
+
NDk5ZmJhMjExOTliMGJiMmNkZmM5YWYwZGE0ZWI4ZGY1MzI5OTQzODI4YjYx
|
15
|
+
NGNkOTBkZDY0MDhjNWQxMzQ4NjUxM2JmOTA2MTdiYzI5Mjk1NzU=
|
data/lib/stark_parameters.rb
CHANGED
@@ -51,14 +51,17 @@ module StarkParameters
|
|
51
51
|
end
|
52
52
|
|
53
53
|
def require_one(to_require, allow_nil = false)
|
54
|
-
present_param = to_require.detect {|p| @params.include?(p) }
|
55
|
-
|
56
|
-
unless present_param && value_presence_valid
|
54
|
+
present_param = to_require.detect {|p| @params.include?(p) && (allow_nil || !@params[p].nil?) }
|
55
|
+
unless present_param && value_presence_valid(present_param, allow_nil)
|
57
56
|
raise ActionController::ParameterMissing.new(to_require.join(" or "))
|
58
57
|
end
|
59
58
|
present_param
|
60
59
|
end
|
61
60
|
|
61
|
+
def value_presence_valid(present_param, allow_nil)
|
62
|
+
allow_nil ? true : !@params.stringify_keys[present_param.to_s].nil?
|
63
|
+
end
|
64
|
+
|
62
65
|
module ClassMethods
|
63
66
|
attr_accessor :permitted_params, :presence_required_params, :presence_optional_params, :aliases
|
64
67
|
|
@@ -47,9 +47,9 @@ describe StarkParameters do
|
|
47
47
|
end
|
48
48
|
|
49
49
|
context "when required param is nil" do
|
50
|
-
let(:params) { full_params["
|
50
|
+
let(:params) { full_params["last_name"] = nil; full_params }
|
51
51
|
|
52
|
-
it { expect
|
52
|
+
it { expect(validator.params.to_hash).to include("surname" => "Levick") }
|
53
53
|
end
|
54
54
|
|
55
55
|
describe "required param presence: true" do
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stark_parameters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- rylev
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2014-
|
11
|
+
date: 2014-04-24 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: actionpack
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ! '>='
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ! '>='
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rake
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ! '>='
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ! '>='
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ! '>='
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,7 +48,6 @@ dependencies:
|
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ! '>='
|
60
53
|
- !ruby/object:Gem::Version
|
@@ -78,27 +71,26 @@ files:
|
|
78
71
|
- stark_parameters.gemspec
|
79
72
|
homepage: ''
|
80
73
|
licenses: []
|
74
|
+
metadata: {}
|
81
75
|
post_install_message:
|
82
76
|
rdoc_options: []
|
83
77
|
require_paths:
|
84
78
|
- lib
|
85
79
|
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
80
|
requirements:
|
88
81
|
- - ! '>='
|
89
82
|
- !ruby/object:Gem::Version
|
90
83
|
version: '0'
|
91
84
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
|
-
none: false
|
93
85
|
requirements:
|
94
86
|
- - ! '>='
|
95
87
|
- !ruby/object:Gem::Version
|
96
88
|
version: '0'
|
97
89
|
requirements: []
|
98
90
|
rubyforge_project:
|
99
|
-
rubygems_version:
|
91
|
+
rubygems_version: 2.2.2
|
100
92
|
signing_key:
|
101
|
-
specification_version:
|
93
|
+
specification_version: 4
|
102
94
|
summary: Wraps Strong Parameters with additonal functionality
|
103
95
|
test_files:
|
104
96
|
- spec/lib/stark_parameters_spec.rb
|