Module: Uptime::Call
- Defined in:
- lib/uptime/call.rb
Class Method Summary collapse
- .checks ⇒ Object
- .create_check(attributes = {}) ⇒ Object
- .destroy_check(token) ⇒ Object
- .downtimes(token, filters = {}) ⇒ Object
- .execute(resource, method, payload = {}) ⇒ Object
- .process ⇒ Object
- .resource ⇒ Object
- .update_check(token, attributes = {}) ⇒ Object
Class Method Details
.checks ⇒ Object
42 43 44 |
# File 'lib/uptime/call.rb', line 42 def self.checks process { Call.resource['checks'].get } end |
.create_check(attributes = {}) ⇒ Object
50 51 52 |
# File 'lib/uptime/call.rb', line 50 def self.create_check(attributes={}) process { Call.resource['checks'].post(attributes) } end |
.destroy_check(token) ⇒ Object
58 59 60 |
# File 'lib/uptime/call.rb', line 58 def self.destroy_check(token) process { Call.resource["checks/#{token}"].delete } end |
.downtimes(token, filters = {}) ⇒ Object
46 47 48 |
# 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 = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# 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 ⇒ Object
62 63 64 65 66 67 |
# 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 ⇒ Object
37 38 39 40 |
# 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 |