module TargetLoader

Public Class Methods

inspect(config, target_name=nil) click to toggle source
# File lib/ceedling/target_loader.rb, line 9
def self.inspect(config, target_name=nil)
  unless config[:targets]
    raise NoTargets
  end

  targets = config[:targets]
  unless targets[:targets_directory]
    raise NoDirectory.new("No targets directory specified.")
  end
  unless targets[:default_target]
    raise NoDefault.new("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