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