Sha256: 5dc81937e4a0bc8c7d179e9e26978f8aa58e0590bf4bf4e7dfe59c513d61d25f

Contents?: true

Size: 1.38 KB

Versions: 12

Compression:

Stored size: 1.38 KB

Contents

require_relative './build.rb'
require_relative './test.rb'
require_relative './add.rb'
require_relative './commit.rb'
require_relative './publish.rb'
require_relative './pull.rb'
require_relative './push.rb'
require_relative './setup.rb'
require_relative './upgrade.rb'
require_relative './timer.rb'

class Commands < Hash
  attr_accessor :build

  def initialize
    self[:pull] = Pull.new
    self[:upgrade] = Upgrade.new
	self[:setup] = Setup.new
    self[:build] = Build.new
	self[:test] = Test.new
	self[:add] = Add.new
	self[:commit] = Commit.new
	self[:publish] = Publish.new
	self[:push] = Push.new
  end

  def update
    self[:upgrade].update
  end

  def execute_command command
    print " " + Color.green + command + Color.clear

	timer=Timer.new
	if command.include?('<%') && command.include?('%>')
	  ruby = command.gsub("<%","").gsub("%>","")
      eval(ruby)
	  puts " " + timer.elapsed_str
    else
		out = `#{command}`
		if $? != 0
		  puts out
		  raise Color.yellow + "`" + Color.green + command + Color.yellow + "`" + Color.clear + 
			  " has exit code " + $?.to_s  + " " + out
		else
		  puts " " + timer.elapsed_str
		end
	end
  end

  def show
    self.each do |key,array|
	  if(array.length > 0)
	    puts key
	    array.each {|v|
	      puts "  " + Color.green + v + Color.clear + " "
	    }
	  end
	end
	puts " "
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
dev_tasks-0.0.113 lib/commands.rb
dev_tasks-0.0.112 lib/commands.rb
dev_tasks-0.0.111 lib/commands.rb
dev_tasks-0.0.110 lib/commands.rb
dev_tasks-0.0.109 lib/commands.rb
dev_tasks-0.0.108 lib/commands.rb
dev_tasks-0.0.107 lib/commands.rb
dev_tasks-0.0.106 lib/commands.rb
dev_tasks-0.0.105 lib/commands.rb
dev_tasks-0.0.104 lib/commands.rb
dev_tasks-0.0.103 lib/commands.rb
dev_tasks-0.0.102 lib/commands.rb