module Uptime::Call

Public Class Methods

checks() click to toggle source
# File lib/uptime/call.rb, line 42
def self.checks
  process { Call.resource['checks'].get }
end
create_check(attributes={}) click to toggle source
# File lib/uptime/call.rb, line 50
def self.create_check(attributes={})
  process { Call.resource['checks'].post(attributes) }
end
destroy_check(token) click to toggle source
# File lib/uptime/call.rb, line 58
def self.destroy_check(token)
  process { Call.resource["checks/#{token}"].delete }
end
downtimes(token, filters={}) click to toggle source
# File lib/uptime/call.rb, line 46
def self.downtimes(token, filters={})
  process { Call.resource["checks/#{token}/downtimes"].get(params: filters) }
end
execute(resource, method, payload={}) click to toggle source
# File lib/uptime/call.rb, line 10
def self.execute(resource, method, payload={})
  puts "username: #{Uptime.configuration.username}"
  puts "password; #{Uptime.configuration.password}"
  puts "api_endpoint: #{Uptime.configuration.api_endpoint}"
  username = Uptime.configuration.username
  password = Uptime.configuration.password
  api_endpoint = Uptime.configuration.api_endpoint
  puts "resource: #{resource}"
  endpoint = api_endpoint + resource
  puts "endpoint: #{endpoint}"
  puts "method: #{method}"

  RestClient::Request.execute(
                                method: method,
                                url: endpoint, 
                                user: username,
                                password: password,
                                payload: payload
                              )
rescue RestClient::BadRequest, RestClient::Unauthorized, RestClient::ResourceNotFound => e
  result = (JSON.parse(e.response) rescue {})
  # raise Uptime::Error.new(result['error'] || e.reponse)
  raise e.response

end
process() { || ... } click to toggle source
# File lib/uptime/call.rb, line 62
def self.process
  JSON.parse yield
rescue RestClient::BadRequest, RestClient::Unauthorized, RestClient::ResourceNotFound => e
  result = (JSON.parse(e.response) rescue {})
  raise Uptime::Error.new(result['error'] || e.reponse)
end
resource() click to toggle source
# File lib/uptime/call.rb, line 37
def self.resource
  endpoint = 'https://Uptime.io/api/'
  RestClient::Resource.new endpoint, headers: { 'X-API-KEY' => Uptime.configuration.api_endpoint }
end
update_check(token, attributes={}) click to toggle source
# File lib/uptime/call.rb, line 54
def self.update_check(token, attributes={})
  process { Call.resource["checks/#{token}"].put(attributes) }
end