# File lib/puppet/util/fileparsing.rb, line 53
53:         def initialize(type, options = {}, &block)
54:             @type = symbolize(type)
55:             unless [:record, :text].include?(@type)
56:                 raise ArgumentError, "Invalid record type %s" % @type
57:             end
58: 
59:             set_options(options)
60: 
61:             if self.type == :record
62:                 # Now set defaults.
63:                 self.absent ||= ""
64:                 self.separator ||= /\s+/
65:                 self.joiner ||= " "
66:                 self.optional ||= []
67:                 unless defined? @rollup
68:                     @rollup = true
69:                 end
70:             end
71: 
72:             if block_given?
73:                 @block_eval ||= :process
74: 
75:                 # Allow the developer to specify that a block should be instance-eval'ed.
76:                 if @block_eval == :instance
77:                     instance_eval(&block)
78:                 else
79:                     meta_def(@block_eval, &block)
80:                 end
81:             end
82:         end