Sha256: f6cc4d12f524f56a259cc13b5d7ed3e4120b949532ddd263977c760b6f0c405a
Contents?: true
Size: 988 Bytes
Versions: 19
Compression:
Stored size: 988 Bytes
Contents
module TargetLoader class NoTargets < Exception; end class NoDirectory < Exception; end class NoDefault < Exception; end class NoSuchTarget < Exception; end class RequestReload < Exception; end def self.inspect(config, target_name=nil) unless config[:targets] raise NoTargets end targets = config[:targets] unless targets[:targets_directory] raise NoDirectory("No targets directory specified.") end unless targets[:default_target] raise NoDefault("No default target specified.") end target_path = lambda {|name| File.join(targets[:targets_directory], name + ".yml")} target = if target_name target_path.call(target_name) else target_path.call(targets[:default_target]) end unless File.exists? target raise NoSuchTarget.new("No such target: #{target}") end ENV['CEEDLING_MAIN_PROJECT_FILE'] = target raise RequestReload end end
Version data entries
19 entries across 19 versions & 1 rubygems