lib/conveyor/worker.rb in gina-conveyor-0.2.4 vs lib/conveyor/worker.rb in gina-conveyor-1.0.0
- old
+ new
@@ -5,11 +5,11 @@
module Conveyor
class Worker
include Conveyor::Output
include Conveyor::Workers::Syntax
-
+
attr_accessor :filename
attr_reader :status
attr_reader :worker_def
def initialize(file, worker_def, log = MSGLVLS[:debug])
@@ -30,17 +30,17 @@
# Default log file to be based on worker def name
def logfile
dir = File.dirname(worker_def)
File.expand_path(File.basename(worker_def, '.worker') + '.log', dir)
end
-
+
# Catch any calls to error and set the status fail flags
def error(*msg)
opts = msg.extract_options!
unless msg.flatten.empty?
@status.fail!
- msg.unshift("Error encountered in #{worker_def}")
+ # msg.unshift("Error encountered in #{worker_def}")
super(*msg, opts)
end
@status.success?
end
@@ -56,60 +56,60 @@
#Check status and send any errors we collected
if @status.success?
info "Completed #{@filename}, #{@elapsed}s elapsed", :color => :green
else
- error "Error(s) encountered in #{@filename}", :color => :red
+ error "Error encountered in #{@worker_def} -> #{@filename}", :color => :red
end
send_notifications
end
end
-
+
protected
-
+
def create_dirs_for_cmd(src, dest)
if src.is_a?(Array) || Array.wrap(src).count > 1 || dest.last == ?/
mkdir(dest)
else
mkdir(File.dirname(dest))
end
end
-
+
def verified_cmd(cmd, src, dest, &block)
create_dirs_for_cmd(src, dest)
dest = File.expand_path(dest)
-
+
Array.wrap(src).each do |s|
run "#{cmd} #{s} #{dest}"
sync
-
+
if block_given?
result = yield(s, dest)
@status.fail! unless result
end
end
end
-
+
def verified_move(src, dest)
verified_cmd(:mv, src, dest) do |src,dest|
verify_move(src,dest)
end
end
-
+
def verified_copy(src, dest)
verified_cmd(:cp, src, dest) do |src,dest|
verify_copy(src,dest)
end
end
-
+
def verify_copy(src, dest)
if File.directory? dest
File.exists?(File.join(dest, File.basename(src)))
else
File.exists?(dest)
end
end
-
+
def verify_move(src, dest)
if File.directory? dest
File.exists?(File.join(dest, File.basename(src))) && !File.exists?(src)
else
File.exists?(dest) && !File.exists?(src)