Module: Updown::Call

Defined in:
lib/updown/call.rb

Class Method Summary collapse

Class Method Details

.checksObject



12
13
14
# File 'lib/updown/call.rb', line 12

def self.checks
  process { Call.resource['checks'].get }
end

.create_check(attributes = {}) ⇒ Object



24
25
26
# File 'lib/updown/call.rb', line 24

def self.create_check(attributes={})
  process { Call.resource['checks'].post(attributes) }
end

.destroy_check(token) ⇒ Object



36
37
38
# File 'lib/updown/call.rb', line 36

def self.destroy_check(token)
  process { Call.resource["checks/#{token}"].delete }
end

.downtimes(token, filters = {}) ⇒ Object



16
17
18
# File 'lib/updown/call.rb', line 16

def self.downtimes(token, filters={})
  process { Call.resource["checks/#{token}/downtimes"].get(params: filters) }
end

.get_check(token, attributes = {}) ⇒ Object



28
29
30
# File 'lib/updown/call.rb', line 28

def self.get_check(token, attributes={})
  process { Call.resource["checks/#{token}"].get(params: attributes) }
end

.metrics(token, filters = {}) ⇒ Object



20
21
22
# File 'lib/updown/call.rb', line 20

def self.metrics(token, filters={})
  process { Call.resource["checks/#{token}/metrics"].get(params: filters) }
end

.processObject



40
41
42
43
44
45
# File 'lib/updown/call.rb', line 40

def self.process
  JSON.parse yield
rescue RestClient::BadRequest, RestClient::Unauthorized, RestClient::ResourceNotFound => e
  result = (JSON.parse(e.response) rescue {})
  raise Updown::Error.new(result['error'] || e.response)
end

.resourceObject



8
9
10
# File 'lib/updown/call.rb', line 8

def self.resource
  RestClient::Resource.new 'https://updown.io/api/', headers: { 'X-API-KEY' => Updown.configuration.api_key }
end

.update_check(token, attributes = {}) ⇒ Object



32
33
34
# File 'lib/updown/call.rb', line 32

def self.update_check(token, attributes={})
  process { Call.resource["checks/#{token}"].put(attributes) }
end