class Chef::Knife::EnvironmentFromFile

def environments_path

def environments_path
  @environments_path ||= "environments"
end

def find_all_environments

def find_all_environments
  loader.find_all_objects("./#{environments_path}/")
end

def load_all_environments

def load_all_environments
  environments = find_all_environments
  if environments.empty?
    ui.fatal("Unable to find any environment files in '#{environments_path}'")
    exit(1)
  end
  environments.each do |env|
    load_environment(env)
  end
end

def load_environment(env)

def load_environment(env)
  updated = loader.load_from("environments", env)
  updated.save
  output(format_for_display(updated)) if config[:print_after]
  ui.info("Updated Environment #{updated.name}")
end

def loader

def loader
  @loader ||= Knife::Core::ObjectLoader.new(Chef::Environment, ui)
end

def run

def run
  if config[:all] == true
    load_all_environments
  else
    if @name_args[0].nil?
      show_usage
      ui.fatal("You must specify a file to load")
      exit 1
    end
    @name_args.each do |arg|
      load_environment(arg)
    end
  end
end