class Rgot::Common
Attributes
@dynamic output, output=
Public Class Methods
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
Source
# File lib/rgot/common.rb, line 54 def error(*args) internal_log(args.map(&:to_s).join(' ')) fail! nil end
Source
# File lib/rgot/common.rb, line 60 def errorf(*args) internal_log(sprintf(*args)) fail! nil end
Source
# File lib/rgot/common.rb, line 32 def fail! @mutex.synchronize { @failed = true } end
Source
# File lib/rgot/common.rb, line 66 def fatal(*args) internal_log(args.map(&:to_s).join(' ')) fail_now end
Source
# File lib/rgot/common.rb, line 71 def fatalf(*args) internal_log(sprintf(*args)) fail_now end
Source
# File lib/rgot/common.rb, line 40 def finish! @mutex.synchronize { @finished = true } end
Source
# File lib/rgot/common.rb, line 28 def finished? @mutex.synchronize { @finished } end
Source
# File lib/rgot/common.rb, line 44 def log(*args) internal_log(args.map(&:to_s).join(' ')) nil end
Source
# File lib/rgot/common.rb, line 49 def logf(*args) internal_log(sprintf(*args)) nil end
Source
# File lib/rgot/common.rb, line 76 def skip(*args) internal_log(args.map(&:to_s).join(' ')) skip_now end
Source
# File lib/rgot/common.rb, line 36 def skip! @mutex.synchronize { @skipped = true } end
Source
# File lib/rgot/common.rb, line 81 def skipf(*args) internal_log(sprintf(*args)) skip_now end
Source
# File lib/rgot/common.rb, line 24 def skipped? @mutex.synchronize { @skipped } end
Private Instance Methods
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
Source
# File lib/rgot/common.rb, line 110 def internal_log(msg) @mutex.synchronize { @output << decorate(msg) } end