# File lib/puppet/util/fileparsing.rb, line 86
 86:         def join(details)
 87:             joinchar = self.joiner
 88: 
 89:             fields.collect { |field|
 90:                 # If the field is marked absent, use the appropriate replacement
 91:                 if details[field] == :absent or details[field] == [:absent] or details[field].nil?
 92:                     if self.optional.include?(field)
 93:                         self.absent
 94:                     else
 95:                         raise ArgumentError, "Field '%s' is required" % field
 96:                     end
 97:                 else
 98:                     details[field].to_s
 99:                 end
100:             }.reject { |c| c.nil?}.join(joinchar)
101:         end