paramore 3.8.3 → 3.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/paramore/extension.rb +20 -7
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e4a6c0bf84e8aaaaacb7865918b2261a348a38bf84e6696f0aff3228744296d
4
- data.tar.gz: 69968d3fae522e9f4375e3845edce3fdd5d33446f92ca7aebd2c16d2bf69211d
3
+ metadata.gz: 0cc67c79a09ee03ca89162f574ff3b6fda2b24bedc6e3a20ec5c0e780e9999c1
4
+ data.tar.gz: 24895561218cf93fb309b31c40b370ddd0cd0899986342d0b1d847f11459525f
5
5
  SHA512:
6
- metadata.gz: 84ed81904455ed520d2a1125f2f9af170729acdb971a86df4d38175e62f607dce54833bbb30cafbca9a58cb96cdab92bbe9c1db065a7393a10e2b3b56e355a80
7
- data.tar.gz: eaa0fa83f88fa411cc19ce0dcefa9f57ca76ecc54c8e7616fe6786d96f569f9d571a2d1c90c7abf4c9d21cf4c3d773c240b787e7421a365bf40da24284e052a9
6
+ metadata.gz: 28cf57ff69601f5a351a817b104111595bf1fb7a05cefa14066701710c389b7dfef68c07098f88865e2aa0db358ce4987c9a71aa9b76553f9fcd9817f851c1d2
7
+ data.tar.gz: 0ce7299a531ee49b3695c542873932326561bb8ae6b7af812071b41f1ac45ef11e89e3004c5a628005afdc9e3884c47d5b632656b889b4e6a6bcbc20dc761a5c
@@ -30,20 +30,33 @@ module Paramore
30
30
  define_method(accessor_name) do |rails_parameters = params|
31
31
  return instance_variable_get("@#{accessor_name}") if instance_variable_defined?("@#{accessor_name}")
32
32
 
33
- if rails_parameters[required_parameter_name].nil? && types_definition.default
33
+ if rails_parameters[required_parameter_name].nil? && types_definition.default?
34
34
  instance_variable_set("@#{accessor_name}", types_definition.default)
35
35
  return instance_variable_get("@#{accessor_name}")
36
36
  end
37
37
 
38
- permitted_params = rails_parameters
39
- .require(required_parameter_name)
40
- .permit(permitted_parameter_argument)
38
+ required_params = rails_parameters.require(required_parameter_name)
39
+ should_permit = permitted_parameter_argument.any? && required_params.is_a?(ActionController::Parameters)
40
+
41
+ permitted_params =
42
+ if should_permit
43
+ required_params.permit(permitted_parameter_argument)
44
+ else
45
+ required_params
46
+ end
41
47
 
42
48
  parameter_values =
43
49
  if types_definition.is_a?(Paramore::Field)
44
- permitted_params.merge(
45
- Paramore::CastParameters.run(types_definition, permitted_params.to_hash.with_indifferent_access)
46
- ).permit!
50
+ if should_permit
51
+ permitted_params.merge(
52
+ Paramore::CastParameters.run(
53
+ types_definition,
54
+ permitted_params.to_hash.with_indifferent_access
55
+ )
56
+ ).permit!
57
+ else
58
+ Paramore::CastParameters.run(types_definition, permitted_params)
59
+ end
47
60
  else
48
61
  permitted_params.permit!
49
62
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paramore
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.8.3
4
+ version: 3.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lukas Kairevičius
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-14 00:00:00.000000000 Z
11
+ date: 2021-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-rails
@@ -115,7 +115,7 @@ licenses:
115
115
  - MIT
116
116
  metadata: {}
117
117
  post_install_message: |
118
- Thank you for installing Paramore 3.8.3 !
118
+ Thank you for installing Paramore 3.8.4 !
119
119
  From the command line you can run `paramore` to generate a configuration file
120
120
 
121
121
  More details here : https://github.com/lumzdas/paramore/blob/master/README.md