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.

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)
  <<-eos
#{format_passed(passed?)}: #{name}
#{format_extra_messages(@extra_messages)}#{Terminal.bold(@message)}
   #{@data}
eos
end