Sha256: 09a5951737b6035c32f64c98c769ef63c9c31acd508cc2d85c0c645ed19197de

Contents?: true

Size: 1.1 KB

Versions: 2

Compression:

Stored size: 1.1 KB

Contents

#!/usr/bin/env ruby

require 'geektool_kit'
require 'thor'
require 'yaml'
require 'fileutils'
 
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 }

    geeklets = ["cpu_meter", "mem_meter", "cal"]
    geeklets.each do |geeklet|
      original_file = File.expand_path("#{File.expand_path(File.dirname(__FILE__))}/../geeklets/#{geeklet}.glet")
      destination = File.expand_path("#{BASE_FOLDER}/#{geeklet}.glet")
      FileUtils.cp original_file, destination
    end
  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)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
geektool_kit-0.3.1 bin/geektool_kit
geektool_kit-0.3.0 bin/geektool_kit