class Fog::Compute::Linode::Ips

Public Instance Methods

all() click to toggle source
# File lib/fog/linode/models/compute/ips.rb, line 11
def all
  requires :server
  load ips(server.id)
end
get(id) click to toggle source
# File lib/fog/linode/models/compute/ips.rb, line 16
def get(id)
  requires :server
  new ips(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/ips.rb, line 23
def new(attributes = {})
  requires :server
  super({ :server => server }.merge!(attributes))
end

Private Instance Methods

ips(linode_id, id=nil) click to toggle source
# File lib/fog/linode/models/compute/ips.rb, line 29
def ips(linode_id, id=nil)
  service.linode_ip_list(linode_id, id).body['DATA'].map { |ip| map_ip ip }
end
map_ip(ip) click to toggle source
# File lib/fog/linode/models/compute/ips.rb, line 33
def map_ip(ip)
  ip = ip.each_with_object({}) { |(k, v), h| h[k.downcase.to_sym] = v  }
  ip.merge! :id => ip[:ipaddressid], :ip => ip[:ipaddress], :public => ip[:ispublic]==1
end