croods 0.3.5 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '05196570cc7a53898c790d3ab24038629f2e8a909df92fb9642b0c95d6f7ab14'
4
- data.tar.gz: beecd504fcdb6cc2b824b6403e873b5b8dc6c0993717cec6ed2fcec50f25b6d2
3
+ metadata.gz: 1352ed9e8eb6e9b67e6328cb3b1f2c67cea951ae5e0ae27165c73b446af298a9
4
+ data.tar.gz: '055816afd98abca688f9f2e5c481f489e75ee850b1db5e5272d30461b38ff6fd'
5
5
  SHA512:
6
- metadata.gz: 9a0c38196bcef7a198497d7fab1254f3e5e2924dd3a411d1016745dbcd828c000ecbb47f04324d33f2d4b4e20b893ea28f83d312c7aa792e09dcf36f784a6cd3
7
- data.tar.gz: afdfc76c66c79e6f9c7e49ab9f21582f377a89e4c024f7e715af380e620fe08f6a5c9c259288c4a38f8be9de6a0534c78574cf1319d47231e798b4a12870812d
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.5'
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.5
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: 2021-05-18 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
@@ -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