class Fog::Compute::Linode::Disks

Public Instance Methods

all() click to toggle source
# File lib/fog/linode/models/compute/disks.rb, line 11
def all
  requires :server
  load disks(server.id)
end
get(id) click to toggle source
# File lib/fog/linode/models/compute/disks.rb, line 16
def get(id)
  requires :server
  new disks(server.id, id).first
rescue Fog::Compute::Linode::NotFound
  nil
end
new(attributes = {}) click to toggle source
Calls superclass method
# File lib/fog/linode/models/compute/disks.rb, line 23
def new(attributes = {})
  requires :server
  super({ :server => server }.merge!(attributes))
end

Private Instance Methods

disks(linode_id, id=nil) click to toggle source
# File lib/fog/linode/models/compute/disks.rb, line 29
def disks(linode_id, id=nil)
  service.linode_disk_list(linode_id, id).body['DATA'].map { |disk| map_disk disk }
end
map_disk(disk) click to toggle source
# File lib/fog/linode/models/compute/disks.rb, line 33
def map_disk(disk)
  disk = disk.each_with_object({}) { |(k, v), h| h[k.downcase.to_sym] = v  }
  disk.merge! :id => disk[:diskid], :name => disk[:label], :server_id => disk[:linodeid]
end