Class: Fog::OpenStack::Monitoring::NotificationMethods

Inherits:
Collection
  • Object
show all
Defined in:
lib/fog/openstack/monitoring/models/notification_methods.rb

Instance Attribute Summary

Attributes inherited from Collection

#response

Instance Method Summary collapse

Methods inherited from Collection

#get, #load_response, #summary

Instance Method Details

#all(options = {}) ⇒ Object



10
11
12
# File 'lib/fog/openstack/monitoring/models/notification_methods.rb', line 10

def all(options = {})
  load_response(service.list_notification_methods(options), 'elements')
end

#create(attributes) ⇒ Object



14
15
16
# File 'lib/fog/openstack/monitoring/models/notification_methods.rb', line 14

def create(attributes)
  super(attributes)
end

#destroy(id) ⇒ Object



35
36
37
38
# File 'lib/fog/openstack/monitoring/models/notification_methods.rb', line 35

def destroy(id)
  notification_method = find_by_id(id)
  notification_method.destroy
end

#find_by_id(id) ⇒ Object



22
23
24
25
26
27
28
29
# File 'lib/fog/openstack/monitoring/models/notification_methods.rb', line 22

def find_by_id(id)
  cached_notification_method = detect { |notification_method| notification_method.id == id }
  return cached_notification_method if cached_notification_method
  notification_method_hash = service.get_notification_method(id).body
  Fog::OpenStack::Monitoring::NotificationMethod.new(
    notification_method_hash.merge(:service => service)
  )
end

#list_typesObject



31
32
33
# File 'lib/fog/openstack/monitoring/models/notification_methods.rb', line 31

def list_types
  service.list_notification_method_types.body['elements'].map { |x| x['type'].to_sym }
end

#patch(attributes) ⇒ Object



18
19
20
# File 'lib/fog/openstack/monitoring/models/notification_methods.rb', line 18

def patch(attributes)
  super(attributes)
end