Class: Fog::Image::OpenStack::Images

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

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_sym, *arguments, &block) ⇒ Object



44
45
46
47
48
49
50
# File 'lib/fog/openstack/models/image/images.rb', line 44

def method_missing(method_sym, *arguments, &block)
  if method_sym.to_s =~ /^find_by_(.*)$/
    load(service.list_public_images_detailed($1 ,arguments.first).body['images'])
  else
    super
  end
end

Instance Method Details

#all(options = {}) ⇒ Object



10
11
12
# File 'lib/fog/openstack/models/image/images.rb', line 10

def all(options = {})
  load(service.list_public_images_detailed(options).body['images'])
end

#destroy(id) ⇒ Object



39
40
41
42
# File 'lib/fog/openstack/models/image/images.rb', line 39

def destroy(id)
  image = self.find_by_id(id)
  image.destroy
end

#details(options = {}, deprecated_query = nil) ⇒ Object



18
19
20
21
22
# File 'lib/fog/openstack/models/image/images.rb', line 18

def details(options = {}, deprecated_query = nil)
  Fog::Logger.deprecation("Calling OpenStack[:glance].images.details will be removed, "\
                          " call .images.all for detailed list.")
  load(service.list_public_images_detailed(options, deprecated_query).body['images'])
end

#find_attribute(attribute, value) ⇒ Object



60
61
62
63
# File 'lib/fog/openstack/models/image/images.rb', line 60

def find_attribute(attribute,value)
  attribute = attribute.to_s.gsub("find_by_", "")
  load(service.list_public_images_detailed(attribute , value).body['images'])
end

#find_by_id(id) ⇒ Object Also known as: get



24
25
26
# File 'lib/fog/openstack/models/image/images.rb', line 24

def find_by_id(id)
  all.find {|image| image.id == id}
end

#find_by_size_max(size) ⇒ Object



56
57
58
# File 'lib/fog/openstack/models/image/images.rb', line 56

def find_by_size_max(size)
  find_attribute(__method__, size)
end

#find_by_size_min(size) ⇒ Object



52
53
54
# File 'lib/fog/openstack/models/image/images.rb', line 52

def find_by_size_min(size)
  find_attribute(__method__, size)
end

#privateObject



34
35
36
37
# File 'lib/fog/openstack/models/image/images.rb', line 34

def private
  images = load(service.list_public_images_detailed.body['images'])
  images.delete_if{|image| image.is_public}
end

#publicObject



29
30
31
32
# File 'lib/fog/openstack/models/image/images.rb', line 29

def public
  images = load(service.list_public_images_detailed.body['images'])
  images.delete_if{|image| image.is_public == false}
end

#summary(options = {}) ⇒ Object



14
15
16
# File 'lib/fog/openstack/models/image/images.rb', line 14

def summary(options = {})
  load(service.list_public_images(options).body['images'])
end