simple_params 1.6.9 → 2.0.4

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.
@@ -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