class Rgot::Common
Attributes
output[RW]
@dynamic output, output=
Public Class Methods
new()
click to toggle source
# File lib/rgot/common.rb, line 11 def initialize @output = "".dup @failed = false @skipped = false @finished = false @start = Rgot.now @mutex = Thread::Mutex.new end
Public Instance Methods
error(*args)
click to toggle source
# File lib/rgot/common.rb, line 54 def error(*args) internal_log(args.map(&:to_s).join(' ')) fail! nil end
errorf(*args)
click to toggle source
# File lib/rgot/common.rb, line 60 def errorf(*args) internal_log(sprintf(*args)) fail! nil end
fail!()
click to toggle source
# File lib/rgot/common.rb, line 32 def fail! @mutex.synchronize { @failed = true } end
fail_now()
click to toggle source
# File lib/rgot/common.rb, line 92 def fail_now fail! finish! throw :skip end
failed?()
click to toggle source
# File lib/rgot/common.rb, line 20 def failed? @mutex.synchronize { @failed } end
fatal(*args)
click to toggle source
# File lib/rgot/common.rb, line 66 def fatal(*args) internal_log(args.map(&:to_s).join(' ')) fail_now end
fatalf(*args)
click to toggle source
# File lib/rgot/common.rb, line 71 def fatalf(*args) internal_log(sprintf(*args)) fail_now end
finish!()
click to toggle source
# File lib/rgot/common.rb, line 40 def finish! @mutex.synchronize { @finished = true } end
finished?()
click to toggle source
# File lib/rgot/common.rb, line 28 def finished? @mutex.synchronize { @finished } end
log(*args)
click to toggle source
# File lib/rgot/common.rb, line 44 def log(*args) internal_log(args.map(&:to_s).join(' ')) nil end
logf(*args)
click to toggle source
# File lib/rgot/common.rb, line 49 def logf(*args) internal_log(sprintf(*args)) nil end
skip(*args)
click to toggle source
# File lib/rgot/common.rb, line 76 def skip(*args) internal_log(args.map(&:to_s).join(' ')) skip_now end
skip!()
click to toggle source
# File lib/rgot/common.rb, line 36 def skip! @mutex.synchronize { @skipped = true } end
skip_now()
click to toggle source
# File lib/rgot/common.rb, line 86 def skip_now skip! finish! throw :skip end
skipf(*args)
click to toggle source
# File lib/rgot/common.rb, line 81 def skipf(*args) internal_log(sprintf(*args)) skip_now end
skipped?()
click to toggle source
# File lib/rgot/common.rb, line 24 def skipped? @mutex.synchronize { @skipped } end
Private Instance Methods
decorate(str)
click to toggle source
# File lib/rgot/common.rb, line 100 def decorate(str) # internal_log -> synchronize -> internal_log -> other log -> running method c = caller[4] path = c.sub(/:.*/, '') line = c.match(/:(\d+?):/)&.[](1) relative_path = Pathname.new(path).relative_path_from(Pathname.new(Dir.pwd)).to_s # Every line is indented at least 4 spaces. " #{relative_path}:#{line}: #{str}\n" end
internal_log(msg)
click to toggle source
# File lib/rgot/common.rb, line 110 def internal_log(msg) @mutex.synchronize { @output << decorate(msg) } end