Sha256: ef6b04013d45f6b47eee4a0601e73f0b7882c6a4bdc5b9653ea52b3f24f0d666

Contents?: true

Size: 1.21 KB

Versions: 11

Compression:

Stored size: 1.21 KB

Contents

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

class Commands < Hash
  attr_accessor :build

  def initialize
    self["upgrade"] = Upgrade.new
    self["build"] = Build.new
	self["test"] = Test.new
	self["add"] = Add.new
	self["commit"] = Commit.new
	self["publish"] = Publish.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
		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

11 entries across 11 versions & 1 rubygems

Version Path
dev_tasks-0.0.59 lib/commands.rb
dev_tasks-0.0.58 lib/commands.rb
dev_tasks-0.0.57 lib/commands.rb
dev_tasks-0.0.56 lib/commands.rb
dev_tasks-0.0.55 lib/commands.rb
dev_tasks-0.0.54 lib/commands.rb
dev_tasks-0.0.53 lib/commands.rb
dev_tasks-0.0.52 lib/commands.rb
dev_tasks-0.0.51 lib/commands.rb
dev_tasks-0.0.50 lib/commands.rb
dev_tasks-0.0.49 lib/commands.rb