Class: IsItWorking::Status

Inherits:
Object
  • Object
show all
Defined in:
lib/is_it_working/status.rb

Overview

This class is used to pass the status of a monitoring check. Each status can have multiple messages added to it by calling the ok or fail methods. The status check will only be considered a success if all messages are ok.

Defined Under Namespace

Classes: Message

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, component_name, description) ⇒ Status

Returns a new instance of Status.



33
34
35
36
37
38
# File 'lib/is_it_working/status.rb', line 33

def initialize(name, component_name, description)
  @name = name
  @component_name = component_name
  @description = description
  @messages = []
end

Instance Attribute Details

#component_nameObject (readonly)

name and description of Component



25
26
27
# File 'lib/is_it_working/status.rb', line 25

def component_name
  @component_name
end

#descriptionObject (readonly)

name and description of Component



25
26
27
# File 'lib/is_it_working/status.rb', line 25

def description
  @description
end

#messagesObject (readonly)

The messages set on the status check.



28
29
30
# File 'lib/is_it_working/status.rb', line 28

def messages
  @messages
end

#nameObject (readonly)

The name of the status check for display purposes.



22
23
24
# File 'lib/is_it_working/status.rb', line 22

def name
  @name
end

#timeObject

The amount of time it takes to complete the status check.



31
32
33
# File 'lib/is_it_working/status.rb', line 31

def time
  @time
end

Instance Method Details

#fail(message) ⇒ Object

Add a message indicating that the check failed.



46
47
48
# File 'lib/is_it_working/status.rb', line 46

def fail(message)
  @messages << Message.new(message, false)
end

#ok(message) ⇒ Object

Add a message indicating that the check passed.



41
42
43
# File 'lib/is_it_working/status.rb', line 41

def ok(message)
  @messages << Message.new(message, true)
end

#success?Boolean

Returns true only if all checks were OK.

Returns:

  • (Boolean)


51
52
53
# File 'lib/is_it_working/status.rb', line 51

def success?
  @messages.all?{|m| m.ok?}
end