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