Skip to content

Commit 274aa08

Browse files
committed
(PUP-11846) Refactor marking sensitive parameters
1 parent 198eec9 commit 274aa08

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

lib/puppet/pops/evaluator/deferred_resolver.rb

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,12 @@ def resolve_futures(catalog)
9393
#
9494
if resolved.is_a?(Puppet::Pops::Types::PSensitiveType::Sensitive)
9595
resolved = resolved.unwrap
96-
unless r.sensitive_parameters.include?(k.to_sym)
97-
r.sensitive_parameters = (r.sensitive_parameters + [k.to_sym]).freeze
98-
end
96+
mark_sensitive_parameters(r, k)
9997
# If the value is a DeferredValue and it has an argument of type PSensitiveType, mark it as sensitive
10098
# The DeferredValue.resolve method will unwrap it during catalog application
10199
elsif resolved.is_a?(Puppet::Pops::Evaluator::DeferredValue)
102-
if v.arguments.any? {|arg| arg.is_a?(Puppet::Pops::Types::PSensitiveType)} and not r.sensitive_parameters.include?(k.to_sym)
103-
r.sensitive_parameters = (r.sensitive_parameters + [k.to_sym]).freeze
100+
if v.arguments.any? {|arg| arg.is_a?(Puppet::Pops::Types::PSensitiveType)}
101+
mark_sensitive_parameters(r, k)
104102
end
105103
end
106104
overrides[ k ] = resolved
@@ -109,6 +107,13 @@ def resolve_futures(catalog)
109107
end
110108
end
111109

110+
def mark_sensitive_parameters(r, k)
111+
unless r.sensitive_parameters.include?(k.to_sym)
112+
r.sensitive_parameters = (r.sensitive_parameters + [k.to_sym]).freeze
113+
end
114+
end
115+
private :mark_sensitive_parameters
116+
112117
def resolve(x)
113118
if x.class == @deferred_class
114119
resolve_future(x)

0 commit comments

Comments
 (0)