class Cucumber::Cli::ProfileLoader

def cucumber_yml

Loads the profile, processing it through ERB and YAML, and returns it as a hash.
def cucumber_yml
  return @cucumber_yml if @cucumber_yml
  unless cucumber_yml_defined?
    raise(ProfilesNotDefinedError,"cucumber.yml was not found.  Please refer to cucumber's documentation on defining profiles in cucumber.yml.  You must define a 'default' profile to use the cucumber command without any arguments.\nType 'cucumber --help' for usage.\n")
  end
  require 'erb'
  require 'yaml'
  begin
    @cucumber_erb = ERB.new(IO.read(cucumber_file)).result
  rescue Exception => e
    raise(YmlLoadError,"cucumber.yml was found, but could not be parsed with ERB.  Please refer to cucumber's documentation on correct profile usage.\n#{$!.inspect}")
  end
  begin
    @cucumber_yml = YAML::load(@cucumber_erb)
  rescue StandardError => e
    raise(YmlLoadError,"cucumber.yml was found, but could not be parsed. Please refer to cucumber's documentation on correct profile usage.\n")
  end
  if @cucumber_yml.nil? || !@cucumber_yml.is_a?(Hash)
    raise(YmlLoadError,"cucumber.yml was found, but was blank or malformed. Please refer to cucumber's documentation on correct profile usage.\n")
  end
  return @cucumber_yml
end