1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/terremark/models/shared/networks.rb
geemus b554eb0bb4 Revert "move vcloud models to its directory since the format is common to both"
Conflicts with work freeformz is doing, reverting in favor of those changes for now.

This reverts commit 9907d4ed59.
2010-05-17 20:57:13 -07:00

52 lines
1.1 KiB
Ruby

module Fog
module Terremark
module Shared
module Mock
def networks(options = {})
Fog::Terremark::Shared::Networks.new(options.merge(:connection => self))
end
end
module Real
def networks(options = {})
Fog::Terremark::Shared::Networks.new(options.merge(:connection => self))
end
end
class Networks < Fog::Collection
model Fog::Terremark::Shared::Network
def all
data = connection.get_vdc(vdc_id).body['AvailableNetworks'].map do |network|
connection.get_network(network["href"].split("/").last).body
end
load(data)
end
def get(network_id)
if network_id && network = connection.get_network(network_id).body
new(network)
elsif !network_id
nil
end
rescue Excon::Errors::Forbidden
nil
end
def vdc_id
@vdc_id ||= connection.default_vdc_id
end
private
def vdc_id=(new_vdc_id)
@vdc_id = new_vdc_id
end
end
end
end
end