Class: AppHealth::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/apphealth/server.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(host) ⇒ Server

Returns a new instance of Server.



5
6
7
8
9
10
11
# File 'lib/apphealth/server.rb', line 5

def initialize(host)
  @host = host
  @checked = false
  @message = nil
  @code = nil
  @duration = nil
end

Instance Attribute Details

#checkedObject

Returns the value of attribute checked.



3
4
5
# File 'lib/apphealth/server.rb', line 3

def checked
  @checked
end

#codeObject

Returns the value of attribute code.



3
4
5
# File 'lib/apphealth/server.rb', line 3

def code
  @code
end

#durationObject

Returns the value of attribute duration.



3
4
5
# File 'lib/apphealth/server.rb', line 3

def duration
  @duration
end

#hostObject

Returns the value of attribute host.



3
4
5
# File 'lib/apphealth/server.rb', line 3

def host
  @host
end

#messageObject

Returns the value of attribute message.



3
4
5
# File 'lib/apphealth/server.rb', line 3

def message
  @message
end

Instance Method Details

#check(uri) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/apphealth/server.rb', line 17

def check(uri)
  return self if checked

  benchmark = Benchmark.measure do
    request = make_request(uri)

    @code = request.code
    @message = request.message
  end

  @duration = (benchmark.real*1000).round
  @checked = true

  self
end

#unchecked?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/apphealth/server.rb', line 13

def unchecked?
  @checked == false
end