introspective_grape 0.3.5 → 0.4.1

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.
Files changed (41) hide show
  1. checksums.yaml +5 -5
  2. data/.travis.yml +5 -52
  3. data/CHANGELOG.md +40 -0
  4. data/Gemfile +2 -0
  5. data/README.md +15 -0
  6. data/gemfiles/{Gemfile.rails.4.2.7.1 → Gemfile.rails.5.0.0} +5 -4
  7. data/gemfiles/Gemfile.rails.5.0.1 +1 -0
  8. data/gemfiles/{Gemfile.rails.4.2.7.1.new.swagger → Gemfile.rails.5.1.0} +5 -3
  9. data/gemfiles/{Gemfile.rails.3.2.22 → Gemfile.rails.5.2.0} +5 -4
  10. data/gemfiles/Gemfile.rails.master +1 -0
  11. data/introspective_grape.gemspec +13 -12
  12. data/lib/introspective_grape.rb +3 -1
  13. data/lib/introspective_grape/api.rb +36 -31
  14. data/lib/introspective_grape/camel_snake.rb +30 -31
  15. data/lib/introspective_grape/configuration.rb +15 -0
  16. data/lib/introspective_grape/create_helpers.rb +2 -2
  17. data/lib/introspective_grape/version.rb +1 -1
  18. data/spec/dummy/Gemfile +6 -3
  19. data/spec/dummy/app/api/api_helpers.rb +2 -0
  20. data/spec/dummy/app/api/dummy/company_api.rb +1 -1
  21. data/spec/dummy/app/models/role.rb +1 -1
  22. data/spec/dummy/app/models/user.rb +2 -2
  23. data/spec/dummy/config.ru +12 -0
  24. data/spec/dummy/config/application.rb +1 -1
  25. data/spec/dummy/config/environments/development.rb +3 -3
  26. data/spec/dummy/config/initializers/paperclip_adapter.rb +1 -1
  27. data/spec/dummy/db/migrate/20190325231304_add_test_data.rb +5 -0
  28. data/spec/dummy/db/schema.rb +154 -173
  29. data/spec/requests/chat_api_spec.rb +26 -26
  30. data/spec/requests/company_api_spec.rb +15 -15
  31. data/spec/requests/location_api_spec.rb +18 -18
  32. data/spec/requests/project_api_spec.rb +21 -21
  33. data/spec/requests/role_api_spec.rb +4 -4
  34. data/spec/requests/sessions_api_spec.rb +10 -10
  35. data/spec/requests/swagger_spec.rb +1 -1
  36. data/spec/requests/user_api_spec.rb +34 -36
  37. metadata +49 -51
  38. data/gemfiles/2.0.0-Gemfile +0 -22
  39. data/gemfiles/2.2.0-Gemfile +0 -21
  40. data/gemfiles/Gemfile.rails.4.1.13 +0 -13
  41. data/gemfiles/Gemfile.rails.4.2.8 +0 -12
@@ -13,14 +13,14 @@ describe Dummy::RoleAPI, type: :request do
13
13
 
14
14
  it 'should return a list of user roles' do
15
15
  get '/api/v1/roles'
16
- response.should be_success
16
+ response.should be_successful
17
17
  json.length.should == 1
18
18
  json.first['id'].to_i.should == role.id
19
19
  end
20
20
 
21
21
  it 'should return the specified user role' do
22
22
  get "/api/v1/roles/#{role.id}"
23
- response.should be_success
23
+ response.should be_successful
24
24
  json['email'].should == role.email
25
25
  end
26
26
 
@@ -30,13 +30,13 @@ describe Dummy::RoleAPI, type: :request do
30
30
  end
31
31
 
32
32
  it 'should not duplicate user roles' do
33
- post '/api/v1/roles', { user_id: user.id, ownable_type: 'Company', ownable_id: company.id }
33
+ post '/api/v1/roles', params: { user_id: user.id, ownable_type: 'Company', ownable_id: company.id }
34
34
  response.code.should == '400'
35
35
  json['error'].should =~ /user has already been assigned that role/
36
36
  end
37
37
 
38
38
  it 'validates ownable type value specified in grape_validations' do
39
- post '/api/v1/roles', { user_id: user.id, ownable_type: 'NotCompany' }
39
+ post '/api/v1/roles', params: { user_id: user.id, ownable_type: 'NotCompany' }
40
40
  response.code.should == '400'
41
41
  json['error'].should eq "ownable_type does not have a valid value"
42
42
  end
@@ -12,16 +12,16 @@ describe Dummy::Sessions, type: :request do
12
12
  context :sign_in do
13
13
 
14
14
  it "should set a user token on login" do
15
- post '/api/v1/sessions', { login: user.email, password: 'abc12345', token: true }
16
- response.should be_success
15
+ post '/api/v1/sessions', params: { login: user.email, password: 'abc12345', token: true }
16
+ response.should be_successful
17
17
  json['id'].to_i.should == user.id
18
18
  json['email'].should == user.email
19
19
  json['authentication_token'].should be_truthy
20
20
  end
21
21
 
22
22
  it "should not set a token if the login fails" do
23
- post '/api/v1/sessions', { login: user.email, password: 'bad password', token: true }
24
- response.should_not be_success
23
+ post '/api/v1/sessions', params: { login: user.email, password: 'bad password', token: true }
24
+ response.should_not be_successful
25
25
  json['error'].should be_truthy
26
26
  json['error']['type'].should == 'unauthenticated'
27
27
  user.authentication_token.should be_nil
@@ -32,8 +32,8 @@ describe Dummy::Sessions, type: :request do
32
32
  it "should reset a user's auth token" do
33
33
  user.authentication_token = "1234567890"
34
34
  user.save!
35
- delete "/api/v1/sessions", { api_key: "1234567890" }
36
- response.should be_success
35
+ delete "/api/v1/sessions", params: { api_key: "1234567890" }
36
+ response.should be_successful
37
37
  user.reload
38
38
  user.authentication_token.should be_nil
39
39
  end
@@ -41,12 +41,12 @@ describe Dummy::Sessions, type: :request do
41
41
  it "signing out an already signed-out user should look fine, right?" do
42
42
  user.authentication_token = "1234567890"
43
43
  user.save!
44
- delete "/api/v1/sessions", { api_key: "1234567890" }
45
- response.should be_success
44
+ delete "/api/v1/sessions", params: { api_key: "1234567890" }
45
+ response.should be_successful
46
46
  user.reload
47
47
  user.authentication_token.should be_nil
48
- delete "/api/v1/sessions", { api_key: "1234567890" }
49
- response.should be_success
48
+ delete "/api/v1/sessions", params: { api_key: "1234567890" }
49
+ response.should be_successful
50
50
  user.reload
51
51
  user.authentication_token.should be_nil
52
52
  end
@@ -5,7 +5,7 @@ describe GrapeSwagger, type: :request do
5
5
 
6
6
  it "should render swagger docs for the api" do
7
7
  get '/api/v1/swagger_doc'
8
- response.should be_success
8
+ response.should be_successful
9
9
  json = JSON.parse( response.body )
10
10
  if Gem::Version.new( GrapeSwagger::VERSION ) <= Gem::Version.new('0.11.0')
11
11
  json['apiVersion'].should == '0.1'
@@ -16,7 +16,7 @@ describe Dummy::UserAPI, type: :request do
16
16
 
17
17
  it "should return a list of users" do
18
18
  get '/api/v1/users'
19
- response.should be_success
19
+ response.should be_successful
20
20
  json.length.should == 1
21
21
  json.first['id'].to_i.should == user.id
22
22
  json.first['first_name'].should == user.first_name
@@ -30,8 +30,8 @@ describe Dummy::UserAPI, type: :request do
30
30
  6.times { User.make! }
31
31
  u = User.last
32
32
  u.update_column(:created_at, 1.day.ago)
33
- get '/api/v1/users', { created_at_start: 2.day.ago, created_at_end: 8.hours.ago }
34
- response.should be_success
33
+ get '/api/v1/users', params: { created_at_start: 2.day.ago, created_at_end: 8.hours.ago }
34
+ response.should be_successful
35
35
  json.length.should eq 1
36
36
  json.first['id'].to_i.should eq u.id
37
37
  json.first['first_name'].should eq u.first_name
@@ -40,15 +40,15 @@ describe Dummy::UserAPI, type: :request do
40
40
  it "should accept a comma separated list of ids" do
41
41
  4.times { User.make! }
42
42
  user_ids = [User.first,User.second,User.third].map(&:id)
43
- get '/api/v1/users', { id: user_ids.join(',') }
44
- response.should be_success
43
+ get '/api/v1/users', params: { id: user_ids.join(',') }
44
+ response.should be_successful
45
45
  json.length.should eq 3
46
46
  json.map {|j| j['id'] }.should eq user_ids
47
47
  end
48
48
 
49
49
  it "should not expose users' encrypted_passwords" do
50
50
  get "/api/v1/users"
51
- response.should be_success
51
+ response.should be_successful
52
52
  json.first['encrypted_password'].should be_nil
53
53
  end
54
54
  end
@@ -57,13 +57,13 @@ describe Dummy::UserAPI, type: :request do
57
57
  context :show do
58
58
  it "should return the specified user" do
59
59
  get "/api/v1/users/#{user.id}"
60
- response.should be_success
60
+ response.should be_successful
61
61
  json['email'].should == user.email
62
62
  end
63
63
 
64
64
  it "should not expose a user's encrypted_password" do
65
65
  get "/api/v1/users/#{user.id}"
66
- response.should be_success
66
+ response.should be_successful
67
67
  json['encrypted_password'].should be_nil
68
68
  end
69
69
 
@@ -77,31 +77,31 @@ describe Dummy::UserAPI, type: :request do
77
77
  context :create do
78
78
 
79
79
  it "should create a user and send the confirmation email" do
80
- post "/api/v1/users", { email: 'email@test.com', password: 'abc12345' }
81
- response.should be_success
80
+ post "/api/v1/users", params: { email: 'email@test.com', password: 'abc12345' }
81
+ response.should be_successful
82
82
  json['email'].should == user.email
83
83
  User.last.confirmed_at.should == nil
84
84
  User.last.confirmation_sent_at.should_not == nil
85
85
  end
86
86
 
87
87
  it "should create a user and skip the confirmation email" do
88
- post "/api/v1/users", { email: 'email@test.com', password: 'abc12345', skip_confirmation_email: true }
89
- response.should be_success
88
+ post "/api/v1/users", params: { email: 'email@test.com', password: 'abc12345', skip_confirmation_email: true }
89
+ response.should be_successful
90
90
  json['email'].should == user.email
91
91
  User.last.confirmed_at.should_not == nil
92
92
  User.last.confirmation_sent_at.should == nil
93
93
  end
94
94
 
95
95
  it "should validate a new user" do
96
- post "/api/v1/users", { email: 'a'*257, password: '' }
96
+ post "/api/v1/users", params: { email: 'a'*257, password: '' }
97
97
  response.code.should == "400"
98
98
  json['error'].should == "Email: is invalid, Password: can't be blank"
99
99
  end
100
100
 
101
101
  it "should return only the records that were created at a nested endpoint" do
102
102
  new_company = Company.make!
103
- post "/api/v1/users/#{user.id}/roles", {ownable_type: 'Company', ownable_id: new_company.id}
104
- response.should be_success
103
+ post "/api/v1/users/#{user.id}/roles", params: {ownable_type: 'Company', ownable_id: new_company.id}
104
+ response.should be_successful
105
105
  json.size.should eq 1
106
106
  json.first['ownable_id'].should eq new_company.id
107
107
  end
@@ -117,8 +117,8 @@ describe Dummy::UserAPI, type: :request do
117
117
 
118
118
  it "should create a company admin" do
119
119
  params[:roles_attributes].push(role)
120
- post "/api/v1/users", params
121
- response.should be_success
120
+ post "/api/v1/users", params: params
121
+ response.should be_successful
122
122
  User.last.admin?(company).should be_truthy
123
123
  end
124
124
 
@@ -134,15 +134,15 @@ describe Dummy::UserAPI, type: :request do
134
134
  end
135
135
 
136
136
  it "should set an empty password to an assigned project's default password" do
137
- post "/api/v1/users", params
138
- response.should be_success
137
+ post "/api/v1/users", params: params
138
+ response.should be_successful
139
139
  json['user_project_jobs_attributes'][0]['name'].should == project.name
140
140
  json['user_project_jobs_attributes'][0]['title'].should == job.title
141
141
  end
142
142
 
143
143
  it "should return a validation error if the user's assigned project has no default password" do
144
144
  project.update_attributes(default_password: nil)
145
- post "/api/v1/users", params
145
+ post "/api/v1/users", params: params
146
146
  response.status.should == 400
147
147
  json['error'].should == "Password: can't be blank"
148
148
  end
@@ -154,10 +154,9 @@ describe Dummy::UserAPI, type: :request do
154
154
  it "should upload a user avatar via the root route" do
155
155
  params = { avatar_attributes: { file: Rack::Test::UploadedFile.new(Rails.root+'../fixtures/images/avatar.jpeg', 'image/jpeg', true) } }
156
156
 
157
- put "/api/v1/users/#{user.id}", params
157
+ put "/api/v1/users/#{user.id}", params: params
158
158
 
159
- p response.body
160
- response.should be_success
159
+ response.should be_successful
161
160
  json['avatar_url'].should eq Image.last.file.url(:medium)
162
161
  user.avatar.should eq Image.last
163
162
  user.avatar_url.should eq Image.last.file.url(:medium)
@@ -166,10 +165,9 @@ describe Dummy::UserAPI, type: :request do
166
165
  it "should upload a user avatar via the nested route, to test the restful api's handling of has_one associations" do
167
166
  params = { file: Rack::Test::UploadedFile.new(Rails.root+'../fixtures/images/avatar.jpeg', 'image/jpeg', true) }
168
167
 
169
- post "/api/v1/users/#{user.id}/avatars", params
168
+ post "/api/v1/users/#{user.id}/avatars", params: params
170
169
 
171
- p response.body
172
- response.should be_success
170
+ response.should be_successful
173
171
  user.avatar.should == Image.last
174
172
  user.avatar_url.should == Image.last.file.url(:medium)
175
173
  user.avatar_url
@@ -178,8 +176,8 @@ describe Dummy::UserAPI, type: :request do
178
176
  it "should require a devise re-confirmation email to update a user's email address" do
179
177
  new_email = 'new.email@test.com'
180
178
  old_email = user.email
181
- put "/api/v1/users/#{user.id}", { email: new_email }
182
- response.should be_success
179
+ put "/api/v1/users/#{user.id}", params: { email: new_email }
180
+ response.should be_successful
183
181
  user.reload
184
182
  user.email.should == old_email
185
183
  user.unconfirmed_email.should == new_email
@@ -188,16 +186,16 @@ describe Dummy::UserAPI, type: :request do
188
186
 
189
187
  it "should skip the confirmation and update a user's email address" do
190
188
  new_email = 'new.email@test.com'
191
- put "/api/v1/users/#{user.id}", { email: new_email, skip_confirmation_email: true }
192
- response.should be_success
189
+ put "/api/v1/users/#{user.id}", params: { email: new_email, skip_confirmation_email: true }
190
+ response.should be_successful
193
191
  json['email'].should == new_email
194
192
  user.reload
195
193
  user.email.should == new_email
196
194
  end
197
195
 
198
196
  it "should validate the uniqueness of a user role" do
199
- put "/api/v1/users/#{user.id}", { roles_attributes: [{ownable_type: 'Company', ownable_id: company.id}] }
200
- response.should_not be_success
197
+ put "/api/v1/users/#{user.id}", params: { roles_attributes: [{ownable_type: 'Company', ownable_id: company.id}] }
198
+ response.should_not be_successful
201
199
  json['error'].should =~ /user has already been assigned that role/
202
200
  user.admin?(company).should be_truthy
203
201
  end
@@ -205,16 +203,16 @@ describe Dummy::UserAPI, type: :request do
205
203
  it "should update a user to be company admin" do
206
204
  c = Company.make
207
205
  c.save!
208
- put "/api/v1/users/#{user.id}", { roles_attributes: [{ownable_type: 'Company', ownable_id: c.id}] }
209
- response.should be_success
206
+ put "/api/v1/users/#{user.id}", params: { roles_attributes: [{ownable_type: 'Company', ownable_id: c.id}] }
207
+ response.should be_successful
210
208
  user.reload
211
209
  user.admin?(c).should be_truthy
212
210
  end
213
211
 
214
212
  it "should destroy a user's company admin role" do
215
213
  user.admin?(company).should be_truthy
216
- put "/api/v1/users/#{user.id}", { roles_attributes: [{id: user.roles.last.id, _destroy: '1'}] }
217
- response.should be_success
214
+ put "/api/v1/users/#{user.id}", params: { roles_attributes: [{id: user.roles.last.id, _destroy: '1'}] }
215
+ response.should be_successful
218
216
  user.reload
219
217
  user.admin?(company).should be_falsey
220
218
  end
metadata CHANGED
@@ -1,49 +1,63 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: introspective_grape
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Buermann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-14 00:00:00.000000000 Z
11
+ date: 2020-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - ">"
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.0
19
+ version: 5.0.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">"
25
+ - !ruby/object:Gem::Version
26
+ version: 5.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rack
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
20
31
  - - "<"
21
32
  - !ruby/object:Gem::Version
22
- version: '5.0'
33
+ version: 2.0.9
23
34
  type: :runtime
24
35
  prerelease: false
25
36
  version_requirements: !ruby/object:Gem::Requirement
26
37
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 3.0.0
30
38
  - - "<"
31
39
  - !ruby/object:Gem::Version
32
- version: '5.0'
40
+ version: 2.0.9
33
41
  - !ruby/object:Gem::Dependency
34
42
  name: grape
35
43
  requirement: !ruby/object:Gem::Requirement
36
44
  requirements:
37
- - - ">="
45
+ - - "~>"
38
46
  - !ruby/object:Gem::Version
39
- version: '0'
47
+ version: 1.2.0
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: 1.2.5
40
51
  type: :runtime
41
52
  prerelease: false
42
53
  version_requirements: !ruby/object:Gem::Requirement
43
54
  requirements:
44
- - - ">="
55
+ - - "~>"
45
56
  - !ruby/object:Gem::Version
46
- version: '0'
57
+ version: 1.2.0
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: 1.2.5
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: grape-entity
49
63
  requirement: !ruby/object:Gem::Requirement
@@ -74,20 +88,6 @@ dependencies:
74
88
  version: '0'
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: kaminari
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "<"
80
- - !ruby/object:Gem::Version
81
- version: '1.0'
82
- type: :runtime
83
- prerelease: false
84
- version_requirements: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "<"
87
- - !ruby/object:Gem::Version
88
- version: '1.0'
89
- - !ruby/object:Gem::Dependency
90
- name: grape-kaminari
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
93
  - - ">="
@@ -104,16 +104,16 @@ dependencies:
104
104
  name: pundit
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - "<"
107
+ - - ">="
108
108
  - !ruby/object:Gem::Version
109
- version: '2.0'
109
+ version: '0'
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - "<"
114
+ - - ">="
115
115
  - !ruby/object:Gem::Version
116
- version: '2.0'
116
+ version: '0'
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: camel_snake_keys
119
119
  requirement: !ruby/object:Gem::Requirement
@@ -132,16 +132,16 @@ dependencies:
132
132
  name: sqlite3
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - ">="
135
+ - - "<"
136
136
  - !ruby/object:Gem::Version
137
- version: '0'
137
+ version: 1.4.0
138
138
  type: :development
139
139
  prerelease: false
140
140
  version_requirements: !ruby/object:Gem::Requirement
141
141
  requirements:
142
- - - ">="
142
+ - - "<"
143
143
  - !ruby/object:Gem::Version
144
- version: '0'
144
+ version: 1.4.0
145
145
  - !ruby/object:Gem::Dependency
146
146
  name: rspec-rails
147
147
  requirement: !ruby/object:Gem::Requirement
@@ -174,18 +174,18 @@ dependencies:
174
174
  name: paperclip
175
175
  requirement: !ruby/object:Gem::Requirement
176
176
  requirements:
177
- - - "<"
177
+ - - ">="
178
178
  - !ruby/object:Gem::Version
179
- version: '5.0'
179
+ version: 5.2.0
180
180
  type: :development
181
181
  prerelease: false
182
182
  version_requirements: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - "<"
184
+ - - ">="
185
185
  - !ruby/object:Gem::Version
186
- version: '5.0'
186
+ version: 5.2.0
187
187
  - !ruby/object:Gem::Dependency
188
- name: machinist
188
+ name: machinist_redux
189
189
  requirement: !ruby/object:Gem::Requirement
190
190
  requirements:
191
191
  - - ">="
@@ -252,19 +252,16 @@ files:
252
252
  - app/models/.keep
253
253
  - app/views/.keep
254
254
  - bin/rails
255
- - gemfiles/2.0.0-Gemfile
256
- - gemfiles/2.2.0-Gemfile
257
- - gemfiles/Gemfile.rails.3.2.22
258
- - gemfiles/Gemfile.rails.4.1.13
259
- - gemfiles/Gemfile.rails.4.2.7.1
260
- - gemfiles/Gemfile.rails.4.2.7.1.new.swagger
261
- - gemfiles/Gemfile.rails.4.2.8
255
+ - gemfiles/Gemfile.rails.5.0.0
262
256
  - gemfiles/Gemfile.rails.5.0.1
257
+ - gemfiles/Gemfile.rails.5.1.0
258
+ - gemfiles/Gemfile.rails.5.2.0
263
259
  - gemfiles/Gemfile.rails.master
264
260
  - introspective_grape.gemspec
265
261
  - lib/introspective_grape.rb
266
262
  - lib/introspective_grape/api.rb
267
263
  - lib/introspective_grape/camel_snake.rb
264
+ - lib/introspective_grape/configuration.rb
268
265
  - lib/introspective_grape/create_helpers.rb
269
266
  - lib/introspective_grape/doc.rb
270
267
  - lib/introspective_grape/filters.rb
@@ -385,6 +382,7 @@ files:
385
382
  - spec/dummy/db/migrate/20150820190524_add_user_names.rb
386
383
  - spec/dummy/db/migrate/20150824215701_create_images.rb
387
384
  - spec/dummy/db/migrate/20150909225019_add_password_to_project.rb
385
+ - spec/dummy/db/migrate/20190325231304_add_test_data.rb
388
386
  - spec/dummy/db/schema.rb
389
387
  - spec/dummy/lib/assets/.keep
390
388
  - spec/dummy/log/.keep
@@ -427,17 +425,16 @@ require_paths:
427
425
  - lib
428
426
  required_ruby_version: !ruby/object:Gem::Requirement
429
427
  requirements:
430
- - - "~>"
428
+ - - ">="
431
429
  - !ruby/object:Gem::Version
432
- version: '2.0'
430
+ version: '2.3'
433
431
  required_rubygems_version: !ruby/object:Gem::Requirement
434
432
  requirements:
435
433
  - - ">="
436
434
  - !ruby/object:Gem::Version
437
435
  version: '0'
438
436
  requirements: []
439
- rubyforge_project:
440
- rubygems_version: 2.5.1
437
+ rubygems_version: 3.1.2
441
438
  signing_key:
442
439
  specification_version: 4
443
440
  summary: Introspectively configure deeply nested RESTful Grape APIs for ActiveRecord
@@ -553,6 +550,7 @@ test_files:
553
550
  - spec/dummy/db/migrate/20150820190524_add_user_names.rb
554
551
  - spec/dummy/db/migrate/20150824215701_create_images.rb
555
552
  - spec/dummy/db/migrate/20150909225019_add_password_to_project.rb
553
+ - spec/dummy/db/migrate/20190325231304_add_test_data.rb
556
554
  - spec/dummy/db/schema.rb
557
555
  - spec/dummy/lib/assets/.keep
558
556
  - spec/dummy/log/.keep