110: def apply_changes(resource, changes)
111: changes.collect { |change|
112: @changes << change
113: @count += 1
114: events = nil
115: begin
116:
117:
118: events = [change.forward].flatten.reject { |e| e.nil? }
119: rescue => detail
120: if Puppet[:trace]
121: puts detail.backtrace
122: end
123: change.property.err "change from %s to %s failed: %s" %
124: [change.property.is_to_s(change.is), change.property.should_to_s(change.should), detail]
125: @failures[resource] += 1
126: next
127:
128:
129:
130: end
131:
132:
133:
134: unless events.nil? or (events.is_a?(Array) and (events.empty?) or events.include?(:noop))
135: change.changed = true
136: @resourcemetrics[:applied] += 1
137: end
138:
139: events
140: }.flatten.reject { |e| e.nil? }
141: end