#!/usr/bin/env ruby

require 'geektool_kit'
require 'thor'
require 'yaml'
 
class MyCLI < Thor

	BASE_FOLDER = File.expand_path "~/geektool_kit"
	CONFIG_FILE = File.join(BASE_FOLDER, 'config.yml')

  desc "setup", "Sets up the geektool_kit folder"
  def setup
	  Dir.mkdir BASE_FOLDER unless Dir.exists? BASE_FOLDER

  	settings = {}
  	if File.exists? CONFIG_FILE
  		settings = YAML::load_file(CONFIG_FILE)
  	end
    
    add_default_settings settings
	  File.open(CONFIG_FILE, 'w') {|f| f.write settings.to_yaml }
  end

  no_commands do
    def add_default_settings settings
    	defaults = {}

    	defaults.each  {|key, value| settings[key] = value unless settings.has_key? key }
  		settings.delete_if { |key, value| defaults[key].nil? }
    end
  end
end
 
MyCLI.start(ARGV)