# File lib/puppet/provider/cron/crontab.rb, line 140
140:     def self.prefetch_hook(records)
141:         name = nil
142:         envs = nil
143:         result = records.each { |record|
144:             case record[:record_type]
145:             when :comment
146:                 if record[:name]
147:                     name = record[:name]
148:                     record[:skip] = true
149: 
150:                     # Start collecting env values
151:                     envs = []
152:                 end
153:             when :environment
154:                 # If we're collecting env values (meaning we're in a named cronjob),
155:                 # store the line and skip the record.
156:                 if envs
157:                     envs << record[:line]
158:                     record[:skip] = true
159:                 end
160:             when :blank
161:                 # nothing
162:             else
163:                 if name
164:                     record[:name] = name
165:                     name = nil
166:                 end
167:                 if envs.nil? or envs.empty?
168:                     record[:environment] = :absent
169:                 else
170:                     # Collect all of the environment lines, and mark the records to be skipped,
171:                     # since their data is included in our crontab record.
172:                     record[:environment] = envs
173: 
174:                     # And turn off env collection again
175:                     envs = nil
176:                 end
177:             end
178:         }.reject { |record| record[:skip] }
179:         result
180:     end