class Kapnismology::BaseResult

This is the base class for all types of results. It is useful to be able to test if the object is of a correct result type. It also have methods to add information and serialize it.

Attributes

data[R]
debug_messages[R]
duration[R]
message[R]

Public Instance Methods

add_debug_messages(messages) click to toggle source
# File lib/kapnismology/result.rb, line 20
def add_debug_messages(messages)
  @debug_messages = (messages || []).compact.flatten
  self
end
passed?() click to toggle source
# File lib/kapnismology/result.rb, line 25
def passed?
  !!@passed
end
record_duration(start_time) click to toggle source
# File lib/kapnismology/result.rb, line 29
def record_duration(start_time)
  @duration = ((Time.now - start_time) * 1000).floor
end
to_hash() click to toggle source
# File lib/kapnismology/result.rb, line 8
def to_hash
  { passed: passed?, data: @data, message: @message, debug_messages: @debug_messages, duration: @duration }
end
to_s(name) click to toggle source
# File lib/kapnismology/result.rb, line 12
    def to_s(name)
      <<~EOS
        #{format_passed(passed?)}: #{name}
        #{format_duration(@duration)}#{format_debug_messages(@debug_messages)}#{Terminal.bold(@message)}
           #{@data}
      EOS
    end

Private Instance Methods

format_debug_messages(debug_messages) click to toggle source
# File lib/kapnismology/result.rb, line 35
def format_debug_messages(debug_messages)
  if debug_messages.empty?
    ''
  else
    debug_messages.join("\n") + "\n"
  end
end
format_duration(duration) click to toggle source
# File lib/kapnismology/result.rb, line 47
def format_duration(duration)
  "duration: #{Terminal.bold(duration)} ms\n"
end
format_passed(passed) click to toggle source
# File lib/kapnismology/result.rb, line 43
def format_passed(passed)
  passed ? Terminal.green('passed') : Terminal.red('failed')
end