1301: def to_edges
1302: @value.collect do |reference|
1303: reference.catalog = resource.catalog
1304:
1305:
1306:
1307: unless related_resource = reference.resolve
1308: self.fail "Could not retrieve dependency '%s' of %s" % [reference, @resource.ref]
1309: end
1310:
1311:
1312:
1313: if self.class.direction == :in
1314: source = related_resource
1315: target = @resource
1316: else
1317: source = @resource
1318: target = related_resource
1319: end
1320:
1321: if method = self.class.callback
1322: subargs = {
1323: :event => self.class.events,
1324: :callback => method
1325: }
1326: self.debug("subscribes to %s" % [related_resource.ref])
1327: else
1328:
1329:
1330: subargs = nil
1331: self.debug("requires %s" % [related_resource.ref])
1332: end
1333:
1334: rel = Puppet::Relationship.new(source, target, subargs)
1335: end
1336: end