Class: Kapnismology::BaseResult

Inherits:
Object
  • Object
show all
Defined in:
lib/kapnismology/result.rb

Overview

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.

Direct Known Subclasses

InfoResult, RSpecResult, Result, Success

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#dataObject (readonly)

Deprecated but many users test on these properties



6
7
8
# File 'lib/kapnismology/result.rb', line 6

def data
  @data
end

#extra_messagesObject (readonly)

Deprecated but many users test on these properties



6
7
8
# File 'lib/kapnismology/result.rb', line 6

def extra_messages
  @extra_messages
end

#messageObject (readonly)

Deprecated but many users test on these properties



6
7
8
# File 'lib/kapnismology/result.rb', line 6

def message
  @message
end

Instance Method Details

#add_extra_messages(messages) ⇒ Object



19
20
21
22
# File 'lib/kapnismology/result.rb', line 19

def add_extra_messages(messages)
  @extra_messages = (messages || []).compact.flatten
  self
end

#passed?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/kapnismology/result.rb', line 24

def passed?
  !!@passed
end

#to_hashObject



7
8
9
# File 'lib/kapnismology/result.rb', line 7

def to_hash
  { passed: passed?, data: @data, message: @message, extra_messages: @extra_messages }
end

#to_s(name) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/kapnismology/result.rb', line 11

def to_s(name)
  "\#{format_passed(passed?)}: \#{name}\n\#{format_extra_messages(@extra_messages)}\#{Terminal.bold(@message)}\n   \#{@data}\n"
end