class InvisibleCollector::Resources::AlarmResource
Public Class Methods
new(options = {})
click to toggle source
Calls superclass method
InvisibleCollector::DefaultHandlers::new
# File lib/invisible_collector/resources/alarm_resource.rb, line 8 def initialize(options = {}) super(options) handle(400) { |response| raise InvisibleCollector::InvalidRequest.from_json(response.body) } handle(409) { |response| raise InvisibleCollector::InvalidRequest.from_json(response.body) } handle(422) { |response| raise InvisibleCollector::InvalidRequest.from_json(response.body) } end
Public Instance Methods
close(alarm)
click to toggle source
# File lib/invisible_collector/resources/alarm_resource.rb, line 15 def close(alarm) gid = alarm.is_a?(Model::Alarm) ? alarm.gid : alarm response = execute do |connection| connection.put("alarms/#{gid}/close", nil) end build_response(response) end
get(gid)
click to toggle source
# File lib/invisible_collector/resources/alarm_resource.rb, line 30 def get(gid) response = @connection.get("v1/alarms/#{gid}") if response.status == 404 Response.new(response, nil) elsif handles.key? response.status handles[response.status].call response else build_response(response) end end
get!(gid)
click to toggle source
# File lib/invisible_collector/resources/alarm_resource.rb, line 41 def get!(gid) response = @connection.get("alarms/#{gid}") raise InvisibleCollector::NotFound.from_json(response.body) if response.status == 404 if handles.key? response.status handles[response.status].call response else build_response(response) end end
save_event(alarm, event)
click to toggle source
# File lib/invisible_collector/resources/alarm_resource.rb, line 23 def save_event(alarm, event) gid = alarm.is_a?(Model::Alarm) ? alarm.gid : alarm response = execute_post("v1/alarms/#{gid}/events", event) alarm = Model::AlarmEvent.new(JSON.parse(response.body).deep_transform_keys(&:underscore)) Response.new(response, alarm) end
Private Instance Methods
build_response(response)
click to toggle source
# File lib/invisible_collector/resources/alarm_resource.rb, line 54 def build_response(response) alarm = Model::Alarm.new(JSON.parse(response.body).deep_transform_keys(&:underscore)) Response.new(response, alarm) end