1162: def to_edges
1163: @value.collect do |reference|
1164: reference.catalog = resource.catalog
1165:
1166:
1167:
1168: unless related_resource = reference.resolve
1169: self.fail "Could not retrieve dependency '#{reference}' of #{@resource.ref}"
1170: end
1171:
1172:
1173:
1174: if self.class.direction == :in
1175: source = related_resource
1176: target = @resource
1177: else
1178: source = @resource
1179: target = related_resource
1180: end
1181:
1182: if method = self.class.callback
1183: subargs = {
1184: :event => self.class.events,
1185: :callback => method
1186: }
1187: self.debug("subscribes to #{related_resource.ref}")
1188: else
1189:
1190:
1191: subargs = nil
1192: self.debug("requires #{related_resource.ref}")
1193: end
1194:
1195: rel = Puppet::Relationship.new(source, target, subargs)
1196: end
1197: end