module ChefCLI::Configurable

def chef_config

def chef_config
  return @chef_config if @chef_config
  config_loader.load
  @chef_config = Chef::Config
end

def chefcli_config

def chefcli_config
  chef_config.chefcli
end

def config_loader

def config_loader
  if !config[:profile].nil?
    @config_loader ||= Chef::WorkstationConfigLoader.new(config[:config_file], profile: config[:profile])
  else
    @config_loader ||= Chef::WorkstationConfigLoader.new(config[:config_file])
  end
end

def generator_config

def generator_config
  chefcli_config.generator
end

def knife_config

def knife_config
  chef_config.knife
end

def reset_config!

def reset_config!
  @chef_config = nil
  @config_loader = nil
end