Class: Fog::Rackspace::Servers::Servers

Inherits:
Collection
  • Object
show all
Defined in:
lib/fog/rackspace/models/servers/servers.rb

Instance Method Summary collapse

Methods inherited from Collection

aliases, attribute, attributes, #attributes, #initialize, #inspect, #merge_attributes

Constructor Details

This class inherits a constructor from Fog::Collection

Instance Method Details

#allObject



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/fog/rackspace/models/servers/servers.rb', line 11

def all
  data = connection.get_servers_details.body
  servers = Fog::Rackspace::Servers::Servers.new({
    :connection => connection
  })
  for server in data['servers']
    servers << Fog::Rackspace::Servers::Server.new({
      :connection => connection,
      :servers    => servers
    }.merge!(server))
  end
  servers
end

#create(attributes = {}) ⇒ Object



25
26
27
28
29
# File 'lib/fog/rackspace/models/servers/servers.rb', line 25

def create(attributes = {})
  server = new(attributes)
  server.save
  server
end

#get(id) ⇒ Object



31
32
33
34
35
# File 'lib/fog/rackspace/models/servers/servers.rb', line 31

def get(id)
  connection.get_server_details(id)
rescue Fog::Errors::NotFound
  nil
end

#new(attributes = {}) ⇒ Object



37
38
39
40
41
42
# File 'lib/fog/rackspace/models/servers/servers.rb', line 37

def new(attributes = {})
  Fog::Rackspace::Servers::Server.new({
    :connection => connection,
    :servers    => self
  }.merge!(attributes))
end

#reloadObject



44
45
46
# File 'lib/fog/rackspace/models/servers/servers.rb', line 44

def reload
  get(id)
end