2015-08-12 18:48:17 -07:00
|
|
|
# encoding: utf-8
|
2015-09-04 09:59:30 +02:00
|
|
|
|
2015-08-12 19:07:01 -07:00
|
|
|
require 'utils/modulator'
|
2015-08-12 18:48:17 -07:00
|
|
|
|
|
|
|
module Vulcano
|
|
|
|
module Targets
|
2015-08-12 19:07:01 -07:00
|
|
|
extend Modulator
|
2015-08-12 18:48:17 -07:00
|
|
|
|
2015-08-12 20:47:02 -07:00
|
|
|
def self.__resolve(items)
|
2015-09-09 12:18:42 +02:00
|
|
|
items.map do |_|
|
|
|
|
# @TODO
|
2015-08-12 20:47:02 -07:00
|
|
|
end.flatten
|
|
|
|
end
|
|
|
|
|
2015-08-12 18:48:17 -07:00
|
|
|
def self.resolve(targets)
|
|
|
|
Array(targets).map do |target|
|
2015-09-05 16:07:54 +02:00
|
|
|
handler = modules.values.find { |m| m.handles?(target) }
|
2015-08-12 18:48:17 -07:00
|
|
|
if handler.nil?
|
2015-09-04 09:59:30 +02:00
|
|
|
fail "Don't know how to handle target: #{target}"
|
2015-08-12 18:48:17 -07:00
|
|
|
end
|
|
|
|
handler.resolve(target)
|
|
|
|
end.flatten
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|