Produces a deep clone of its value on each production. @api public
@api private
# File lib/puppet/pops/binder/producers.rb, line 159 def internal_produce(scope) case value when Integer, Float, TrueClass, FalseClass, Symbol # These are immutable return value when String # ok if frozen, else fall through to default return value() if value.frozen? end # The default: serialize/deserialize to get a deep copy Marshal.load(Marshal.dump(value())) end