simple_params 1.6.9 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,7 @@ require 'spec_helper'
2
2
 
3
3
  class RailsIntegrationParams < SimpleParams::Params
4
4
  with_rails_helpers
5
-
5
+
6
6
  param :name
7
7
  param :age, type: :integer, optional: true, validations: { inclusion: { in: 18..100 } }
8
8
  param :current_time, type: :datetime, optional: true
@@ -99,4 +99,30 @@ describe SimpleParams::Params do
99
99
  expect(params.current_time).to eq(nil)
100
100
  end
101
101
  end
102
+
103
+ context "with missing required params" do
104
+ let!(:params) do
105
+ RailsIntegrationParams.new(
106
+ name: "Tom",
107
+ age: 21,
108
+ )
109
+ end
110
+
111
+ specify "correct error output" do
112
+ params.valid?
113
+ expected = {
114
+ :address => {
115
+ :street => ["can't be blank"],
116
+ :city => ["is too short (minimum is 4 characters)", "can't be blank"]
117
+ },
118
+ :dogs => [
119
+ {
120
+ :name => ["can't be blank"],
121
+ :age => ["is not included in the list", "can't be blank"]
122
+ }
123
+ ]
124
+ }
125
+ expect(params.errors.to_hash).to eq(expected)
126
+ end
127
+ end
102
128
  end
metadata CHANGED
@@ -1,117 +1,131 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_params
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.9
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - brycesenz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-13 00:00:00.000000000 Z
11
+ date: 2020-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.0'
20
- - - <
20
+ - - "<="
21
21
  - !ruby/object:Gem::Version
22
- version: '5.0'
22
+ version: '7.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ! '>='
27
+ - - ">="
28
28
  - !ruby/object:Gem::Version
29
29
  version: '3.0'
30
- - - <
30
+ - - "<="
31
31
  - !ruby/object:Gem::Version
32
- version: '5.0'
32
+ version: '7.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: virtus
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ! '>='
37
+ - - ">="
38
38
  - !ruby/object:Gem::Version
39
39
  version: 1.0.0
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ! '>='
44
+ - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: 1.0.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: shoulda-matchers
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ~>
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
53
  version: '2.8'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - ~>
58
+ - - ">="
59
59
  - !ruby/object:Gem::Version
60
60
  version: '2.8'
61
+ - !ruby/object:Gem::Dependency
62
+ name: appraisal
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
61
75
  - !ruby/object:Gem::Dependency
62
76
  name: bundler
63
77
  requirement: !ruby/object:Gem::Requirement
64
78
  requirements:
65
- - - ~>
79
+ - - ">="
66
80
  - !ruby/object:Gem::Version
67
81
  version: '1.5'
68
82
  type: :development
69
83
  prerelease: false
70
84
  version_requirements: !ruby/object:Gem::Requirement
71
85
  requirements:
72
- - - ~>
86
+ - - ">="
73
87
  - !ruby/object:Gem::Version
74
88
  version: '1.5'
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: rake
77
91
  requirement: !ruby/object:Gem::Requirement
78
92
  requirements:
79
- - - ~>
93
+ - - ">="
80
94
  - !ruby/object:Gem::Version
81
95
  version: '10.1'
82
96
  type: :development
83
97
  prerelease: false
84
98
  version_requirements: !ruby/object:Gem::Requirement
85
99
  requirements:
86
- - - ~>
100
+ - - ">="
87
101
  - !ruby/object:Gem::Version
88
102
  version: '10.1'
89
103
  - !ruby/object:Gem::Dependency
90
104
  name: rspec
91
105
  requirement: !ruby/object:Gem::Requirement
92
106
  requirements:
93
- - - ~>
107
+ - - ">="
94
108
  - !ruby/object:Gem::Version
95
109
  version: '2.6'
96
110
  type: :development
97
111
  prerelease: false
98
112
  version_requirements: !ruby/object:Gem::Requirement
99
113
  requirements:
100
- - - ~>
114
+ - - ">="
101
115
  - !ruby/object:Gem::Version
102
116
  version: '2.6'
103
117
  - !ruby/object:Gem::Dependency
104
118
  name: pry
105
119
  requirement: !ruby/object:Gem::Requirement
106
120
  requirements:
107
- - - ! '>='
121
+ - - ">="
108
122
  - !ruby/object:Gem::Version
109
123
  version: '0'
110
124
  type: :development
111
125
  prerelease: false
112
126
  version_requirements: !ruby/object:Gem::Requirement
113
127
  requirements:
114
- - - ! '>='
128
+ - - ">="
115
129
  - !ruby/object:Gem::Version
116
130
  version: '0'
117
131
  description: Simple way to specify API params
@@ -121,12 +135,29 @@ executables: []
121
135
  extensions: []
122
136
  extra_rdoc_files: []
123
137
  files:
124
- - .rspec
125
- - .ruby-gemset
126
- - .ruby-version
138
+ - ".bundle/install.log"
139
+ - ".gitignore"
140
+ - ".rspec"
141
+ - ".ruby-gemset"
142
+ - ".ruby-version"
143
+ - Appraisals
127
144
  - Gemfile
128
145
  - Gemfile.lock
129
146
  - README.md
147
+ - Rakefile
148
+ - gemfiles/.bundle/config
149
+ - gemfiles/activemodel_3.gemfile
150
+ - gemfiles/activemodel_3.gemfile.lock
151
+ - gemfiles/activemodel_4.gemfile
152
+ - gemfiles/activemodel_4.gemfile.lock
153
+ - gemfiles/activemodel_5.gemfile
154
+ - gemfiles/activemodel_5.gemfile.lock
155
+ - gemfiles/activemodel_5_1.gemfile
156
+ - gemfiles/activemodel_5_1.gemfile.lock
157
+ - gemfiles/activemodel_5_2.gemfile
158
+ - gemfiles/activemodel_5_2.gemfile.lock
159
+ - gemfiles/activemodel_6_0.gemfile
160
+ - gemfiles/activemodel_6_0.gemfile.lock
130
161
  - lib/simple_params.rb
131
162
  - lib/simple_params/api_pie_doc.rb
132
163
  - lib/simple_params/api_pie_doc/attribute.rb
@@ -194,17 +225,16 @@ require_paths:
194
225
  - lib
195
226
  required_ruby_version: !ruby/object:Gem::Requirement
196
227
  requirements:
197
- - - ! '>='
228
+ - - ">="
198
229
  - !ruby/object:Gem::Version
199
230
  version: '0'
200
231
  required_rubygems_version: !ruby/object:Gem::Requirement
201
232
  requirements:
202
- - - ! '>='
233
+ - - ">="
203
234
  - !ruby/object:Gem::Version
204
235
  version: '0'
205
236
  requirements: []
206
- rubyforge_project:
207
- rubygems_version: 2.4.8
237
+ rubygems_version: 3.0.0
208
238
  signing_key:
209
239
  specification_version: 4
210
240
  summary: A DSL for specifying params, including type coercion and validation