croods 0.3.3 → 0.4.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b91328083ded875d3426c54dc559f88244325ef94b858e9f5c3f7e023074e3e
4
- data.tar.gz: 19c5a896ecd8b90656cbd5a8ce13404e8d97fdcd464ced2635cc54ec440e1b79
3
+ metadata.gz: 1352ed9e8eb6e9b67e6328cb3b1f2c67cea951ae5e0ae27165c73b446af298a9
4
+ data.tar.gz: '055816afd98abca688f9f2e5c481f489e75ee850b1db5e5272d30461b38ff6fd'
5
5
  SHA512:
6
- metadata.gz: 3bd8d3bb1ad81a579b28117a9b438db8183e618840f238870ac8cf775138da8a066418dfe2e71085ad6f9c2495cb2de7b62e733c3508df57e568094114dbb8e0
7
- data.tar.gz: 737e22753cc7354b386ebcbf74096a87f212d23c06871dd1054236b76464560e99ab6d77e02cdd3bcad69cc58e9fbab86d868d2a3a2ac14706727237753532d6
6
+ metadata.gz: f7f6da79dd63a220e3fea4f54efcb9369426dc2374ab45690e36e3b3a4682ab51e458fd160dbd2647f4024ad51226cc30fa6862a805c5ca6adfad2dc503495cb
7
+ data.tar.gz: 92afa2004480e3a5d36ce74459620067125fffb4e1efcb767888e15e765509fb98ec76ebef9104a67e24509a09f0d3368e55b521ac0a1edfbb851a0d477b9729
@@ -38,7 +38,7 @@ module Croods
38
38
  associations = scope.reflect_on_all_associations(:belongs_to)
39
39
 
40
40
  associations.each do |association|
41
- next if association.options[:optional]
41
+ next if association.options[:optional] || association.polymorphic?
42
42
 
43
43
  model = association.class_name.constantize
44
44
  expanded_path = path + [association]
@@ -6,7 +6,7 @@ module Croods
6
6
  def authorize(*roles, on: nil)
7
7
  return if roles.empty?
8
8
 
9
- on = [on] if on&.is_a?(Symbol)
9
+ on = [on] if on.is_a?(Symbol)
10
10
 
11
11
  authorization_roles << { roles: roles, on: on }
12
12
  end
@@ -31,7 +31,7 @@ module Croods
31
31
  def public_actions(*names)
32
32
  return unless names
33
33
 
34
- names = [names] if names&.is_a?(Symbol)
34
+ names = [names] if names.is_a?(Symbol)
35
35
 
36
36
  extend_controller do
37
37
  skip_before_action :authenticate_user!, only: names
@@ -15,9 +15,7 @@ module Croods
15
15
 
16
16
  def apply_filters(scope, params)
17
17
  filters.each do |attribute|
18
- unless model.has_attribute?(attribute.name)
19
- attribute.name = "#{attribute.name}_id"
20
- end
18
+ attribute.name = "#{attribute.name}_id" unless model.has_attribute?(attribute.name)
21
19
 
22
20
  value = params[attribute.name]
23
21
  next unless value
@@ -23,9 +23,7 @@ module Croods
23
23
  filters = {}
24
24
 
25
25
  resource.filters.each do |attribute|
26
- unless resource.model.has_attribute?(attribute.name)
27
- attribute.name = "#{attribute.name}_id"
28
- end
26
+ attribute.name = "#{attribute.name}_id" unless resource.model.has_attribute?(attribute.name)
29
27
 
30
28
  filters[attribute.name] = definition(attribute)
31
29
  end
@@ -16,9 +16,7 @@ module Croods
16
16
  end
17
17
 
18
18
  def initialize(member_or_collection, params, current_user)
19
- if self.class.about
20
- public_send("#{self.class.about}=", member_or_collection)
21
- end
19
+ public_send("#{self.class.about}=", member_or_collection) if self.class.about
22
20
 
23
21
  self.member_or_collection = member_or_collection
24
22
  self.params = params
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Croods
4
- VERSION = '0.3.3'
4
+ VERSION = '0.4.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: croods
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Weinmann
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-27 00:00:00.000000000 Z
11
+ date: 2022-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: api-pagination
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - '='
102
102
  - !ruby/object:Gem::Version
103
- version: 5.2.4.4
103
+ version: 5.2.6
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - '='
109
109
  - !ruby/object:Gem::Version
110
- version: 5.2.4.4
110
+ version: 5.2.6
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: schema_associations
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -192,6 +192,20 @@ dependencies:
192
192
  - - '='
193
193
  - !ruby/object:Gem::Version
194
194
  version: 1.1.1
195
+ - !ruby/object:Gem::Dependency
196
+ name: rspec_junit_formatter
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.4.1
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.4.1
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: rspec-rails
197
211
  requirement: !ruby/object:Gem::Requirement
@@ -207,61 +221,89 @@ dependencies:
207
221
  - !ruby/object:Gem::Version
208
222
  version: 4.0.1
209
223
  - !ruby/object:Gem::Dependency
210
- name: rspec_junit_formatter
224
+ name: rubocop
211
225
  requirement: !ruby/object:Gem::Requirement
212
226
  requirements:
213
227
  - - "~>"
214
228
  - !ruby/object:Gem::Version
215
- version: 0.4.1
229
+ version: 1.21.0
216
230
  type: :development
217
231
  prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
234
  - - "~>"
221
235
  - !ruby/object:Gem::Version
222
- version: 0.4.1
236
+ version: 1.21.0
223
237
  - !ruby/object:Gem::Dependency
224
- name: rubocop
238
+ name: rubocop-rails
225
239
  requirement: !ruby/object:Gem::Requirement
226
240
  requirements:
227
- - - '='
241
+ - - ">="
228
242
  - !ruby/object:Gem::Version
229
- version: 0.80.1
243
+ version: '0'
230
244
  type: :development
231
245
  prerelease: false
232
246
  version_requirements: !ruby/object:Gem::Requirement
233
247
  requirements:
234
- - - '='
248
+ - - ">="
235
249
  - !ruby/object:Gem::Version
236
- version: 0.80.1
250
+ version: '0'
237
251
  - !ruby/object:Gem::Dependency
238
252
  name: rubocop-rspec
239
253
  requirement: !ruby/object:Gem::Requirement
240
254
  requirements:
241
- - - '='
255
+ - - "~>"
242
256
  - !ruby/object:Gem::Version
243
- version: 1.38.1
257
+ version: 2.5.0
244
258
  type: :development
245
259
  prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
- - - '='
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: 2.5.0
265
+ - !ruby/object:Gem::Dependency
266
+ name: rubycritic
267
+ requirement: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ type: :development
273
+ prerelease: false
274
+ version_requirements: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - ">="
249
277
  - !ruby/object:Gem::Version
250
- version: 1.38.1
278
+ version: '0'
251
279
  - !ruby/object:Gem::Dependency
252
280
  name: simplecov
253
281
  requirement: !ruby/object:Gem::Requirement
254
282
  requirements:
255
283
  - - "~>"
256
284
  - !ruby/object:Gem::Version
257
- version: 0.17.0
285
+ version: 0.21.0
258
286
  type: :development
259
287
  prerelease: false
260
288
  version_requirements: !ruby/object:Gem::Requirement
261
289
  requirements:
262
290
  - - "~>"
263
291
  - !ruby/object:Gem::Version
264
- version: 0.17.0
292
+ version: 0.21.0
293
+ - !ruby/object:Gem::Dependency
294
+ name: simplecov-lcov
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
300
+ type: :development
301
+ prerelease: false
302
+ version_requirements: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - ">="
305
+ - !ruby/object:Gem::Version
306
+ version: '0'
265
307
  - !ruby/object:Gem::Dependency
266
308
  name: timecop
267
309
  requirement: !ruby/object:Gem::Requirement
@@ -276,6 +318,34 @@ dependencies:
276
318
  - - '='
277
319
  - !ruby/object:Gem::Version
278
320
  version: 0.9.1
321
+ - !ruby/object:Gem::Dependency
322
+ name: undercover
323
+ requirement: !ruby/object:Gem::Requirement
324
+ requirements:
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :development
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ requirements:
332
+ - - ">="
333
+ - !ruby/object:Gem::Version
334
+ version: '0'
335
+ - !ruby/object:Gem::Dependency
336
+ name: undercover-checkstyle
337
+ requirement: !ruby/object:Gem::Requirement
338
+ requirements:
339
+ - - ">="
340
+ - !ruby/object:Gem::Version
341
+ version: '0'
342
+ type: :development
343
+ prerelease: false
344
+ version_requirements: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - ">="
347
+ - !ruby/object:Gem::Version
348
+ version: '0'
279
349
  description: A framework for creating CRUDs in Rails APIs
280
350
  email:
281
351
  - danielweinmann@gmail.com
@@ -360,14 +430,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
360
430
  requirements:
361
431
  - - ">="
362
432
  - !ruby/object:Gem::Version
363
- version: '0'
433
+ version: 2.7.6
364
434
  required_rubygems_version: !ruby/object:Gem::Requirement
365
435
  requirements:
366
436
  - - ">="
367
437
  - !ruby/object:Gem::Version
368
438
  version: '0'
369
439
  requirements: []
370
- rubygems_version: 3.0.3
440
+ rubygems_version: 3.1.6
371
441
  signing_key:
372
442
  specification_version: 4
373
443
  summary: A framework for creating CRUDs in Rails APIs