lib/command.rb in dev_tasks-1.0.27 vs lib/command.rb in dev_tasks-1.0.28
- old
+ new
@@ -1,59 +1,59 @@
-class Command < Hash
- def initialize command
-
- if(command.kind_of?(String))
- self[:input] = command
- self[:timeout] = 0
- self[:directory] = ''
- self[:exit_code] = 0
- self[:output] = ''
- self[:error] = ''
- self[:machine_name] = ''
- self[:user_name] = ''
- self[:start_time] = nil
- self[:end_time] = nil
- end
-
- if(command.kind_of?(Hash))
- command.each{|k,v|
- self[k.to_sym]=v
- }
- end
- end
-
- def execute
-
- Logger.start_command self
-
- pwd=Dir.pwd
- Dir.chdir(self[:directory]) if(self.has_key?(:directory) && File.exists?(self[:directory]))
- #print " " + Color.green + self[:input] + Color.clear
-
- self[:start_time]=Time.now
- timer=Timer.new
- if self[:input].include?('<%') && self[:input].include?('%>')
- ruby = self[:input].gsub("<%","").gsub("%>","")
-
- begin
- puts "eval(#{ruby})"
- self[:output]=eval(ruby)
- rescue
- puts "unable to eval(#{ruby})"
- raise "unable to eval(#{ruby})"
- end
-
- #puts " " + timer.elapsed_str
- self[:elapsed] = timer.elapsed_str
- self[:end_time] = Time.now
- else
- self[:output] = `#{self[:input]}`
- self[:elapsed] = timer.elapsed_str
- self[:end_time] = Time.now
- self[:exit_code]=$?.to_i
- end
-
- Dir.chdir(pwd) if pwd != Dir.pwd
- Logger.end_command self
- end
-
+class Command < Hash
+ def initialize command
+
+ if(command.kind_of?(String))
+ self[:input] = command
+ self[:timeout] = 0
+ self[:directory] = ''
+ self[:exit_code] = 0
+ self[:output] = ''
+ self[:error] = ''
+ self[:machine_name] = ''
+ self[:user_name] = ''
+ self[:start_time] = nil
+ self[:end_time] = nil
+ end
+
+ if(command.kind_of?(Hash))
+ command.each{|k,v|
+ self[k.to_sym]=v
+ }
+ end
+ end
+
+ def execute
+
+ Logger.start_command self
+
+ pwd=Dir.pwd
+ Dir.chdir(self[:directory]) if(self.has_key?(:directory) && File.exists?(self[:directory]))
+ #print " " + Color.green + self[:input] + Color.clear
+
+ self[:start_time]=Time.now
+ timer=Timer.new
+ if self[:input].include?('<%') && self[:input].include?('%>')
+ ruby = self[:input].gsub("<%","").gsub("%>","")
+
+ begin
+ puts "eval(#{ruby})"
+ self[:output]=eval(ruby)
+ rescue
+ puts "unable to eval(#{ruby})"
+ raise "unable to eval(#{ruby})"
+ end
+
+ #puts " " + timer.elapsed_str
+ self[:elapsed] = timer.elapsed_str
+ self[:end_time] = Time.now
+ else
+ self[:output] = `#{self[:input]}`
+ self[:elapsed] = timer.elapsed_str
+ self[:end_time] = Time.now
+ self[:exit_code]=$?.to_i
+ end
+
+ Dir.chdir(pwd) if pwd != Dir.pwd
+ Logger.end_command self
+ end
+
end
\ No newline at end of file