move vcloud models to its directory since the format is common to both

This commit is contained in:
David Calavera 2010-05-17 03:16:05 +08:00 committed by Wesley Beary
parent 79d6486de2
commit 9907d4ed59
13 changed files with 52 additions and 37 deletions

View File

@ -221,16 +221,9 @@ module Fog
end
def shared_requires
require 'fog/terremark/models/shared/address'
require 'fog/terremark/models/shared/addresses'
require 'fog/terremark/models/shared/network'
require 'fog/terremark/models/shared/networks'
require 'fog/terremark/models/shared/server'
require 'fog/terremark/models/shared/servers'
require 'fog/terremark/models/shared/task'
require 'fog/terremark/models/shared/tasks'
require 'fog/terremark/models/shared/vdc'
require 'fog/terremark/models/shared/vdcs'
include Fog::Vcloud::Shared
shared_requires
require 'fog/terremark/parsers/shared/get_catalog'
require 'fog/terremark/parsers/shared/get_catalog_item'
require 'fog/terremark/parsers/shared/get_internet_services'

View File

@ -250,6 +250,10 @@ module Fog
class <<self
def new(credentials = {})
unless @required
require 'fog/vcloud/shared'
include Fog::vcloud::Shared
shared_requires
require 'fog/vcloud/parser'
require 'fog/vcloud/terremark/vcloud'
require 'fog/vcloud/terremark/ecloud'

View File

@ -1,7 +1,7 @@
require 'fog/model'
module Fog
module Terremark
module Vcloud
module Shared
class Address < Fog::Model

View File

@ -1,22 +1,22 @@
module Fog
module Terremark
module Vcloud
module Shared
module Mock
def addresses(options = {})
Fog::Terremark::Shared::Addresses.new(options.merge(:connection => self))
Fog::Vcloud::Shared::Addresses.new(options.merge(:connection => self))
end
end
module Real
def addresses(options = {})
Fog::Terremark::Shared::Addresses.new(options.merge(:connection => self))
Fog::Vcloud::Shared::Addresses.new(options.merge(:connection => self))
end
end
class Addresses < Fog::Collection
model Fog::Terremark::Shared::Address
model Fog::Vcloud::Shared::Address
def all
load(connection.get_public_ips(vdc_id).body['PublicIpAddresses'])

View File

@ -1,7 +1,7 @@
require 'fog/model'
module Fog
module Terremark
module Vcloud
module Shared
class Network < Fog::Model

View File

@ -1,22 +1,22 @@
module Fog
module Terremark
module Vcloud
module Shared
module Mock
def networks(options = {})
Fog::Terremark::Shared::Networks.new(options.merge(:connection => self))
Fog::Vcloud::Shared::Networks.new(options.merge(:connection => self))
end
end
module Real
def networks(options = {})
Fog::Terremark::Shared::Networks.new(options.merge(:connection => self))
Fog::Vcloud::Shared::Networks.new(options.merge(:connection => self))
end
end
class Networks < Fog::Collection
model Fog::Terremark::Shared::Network
model Fog::Vcloud::Shared::Network
def all
data = connection.get_vdc(vdc_id).body['AvailableNetworks'].map do |network|

View File

@ -1,7 +1,7 @@
require 'fog/model'
module Fog
module Terremark
module Vcloud
module Shared
class Server < Fog::Model

View File

@ -1,25 +1,25 @@
require 'fog/collection'
require 'fog/terremark/models/shared/server'
require 'fog/vcloud/models/shared/server'
module Fog
module Terremark
module Vcloud
module Shared
module Mock
def servers(options = {})
Fog::Terremark::Shared::Servers.new(options.merge(:connection => self))
Fog::Vcloud::Shared::Servers.new(options.merge(:connection => self))
end
end
module Real
def servers(options = {})
Fog::Terremark::Shared::Servers.new(options.merge(:connection => self))
Fog::Vcloud::Shared::Servers.new(options.merge(:connection => self))
end
end
class Servers < Fog::Collection
model Fog::Terremark::Shared::Server
model Fog::Vcloud::Shared::Server
def all
data = connection.get_vdc(vdc_id).body['ResourceEntities'].select do |entity|

View File

@ -1,7 +1,7 @@
require 'fog/model'
module Fog
module Terremark
module Vcloud
module Shared
class Task < Fog::Model

View File

@ -1,25 +1,25 @@
require 'fog/collection'
require 'fog/terremark/models/shared/server'
require 'fog/vcloud/models/shared/server'
module Fog
module Terremark
module Vcloud
module Shared
module Mock
def tasks
Fog::Terremark::Shared::Tasks.new(:connection => self)
Fog::Vcloud::Shared::Tasks.new(:connection => self)
end
end
module Real
def tasks
Fog::Terremark::Shared::Tasks.new(:connection => self)
Fog::Vcloud::Shared::Tasks.new(:connection => self)
end
end
class Tasks < Fog::Collection
model Fog::Terremark::Shared::Task
model Fog::Vcloud::Shared::Task
def all
data = connection.get_tasks_list(task_list_id).body['Tasks']

View File

@ -1,7 +1,7 @@
require 'fog/model'
module Fog
module Terremark
module Vcloud
module Shared
class Vdc < Fog::Model

View File

@ -1,22 +1,22 @@
module Fog
module Terremark
module Vcloud
module Shared
module Mock
def vdcs(options = {})
Fog::Terremark::Shared::Vdcs.new(options.merge(:connection => self))
Fog::Vcloud::Shared::Vdcs.new(options.merge(:connection => self))
end
end
module Real
def vdcs(options = {})
Fog::Terremark::Shared::Vdcs.new(options.merge(:connection => self))
Fog::Vcloud::Shared::Vdcs.new(options.merge(:connection => self))
end
end
class Vdcs < Fog::Collection
model Fog::Terremark::Shared::Vdc
model Fog::Vcloud::Shared::Vdc
def all
data = connection.get_organization(organization_id).body['Links'].select do |entity|

18
lib/fog/vcloud/shared.rb Normal file
View File

@ -0,0 +1,18 @@
module Fog
module Vcloud
module Shared
def shared_requires
require 'fog/vcloud/models/shared/address'
require 'fog/vcloud/models/shared/addresses'
require 'fog/vcloud/models/shared/network'
require 'fog/vcloud/models/shared/networks'
require 'fog/vcloud/models/shared/server'
require 'fog/vcloud/models/shared/servers'
require 'fog/vcloud/models/shared/task'
require 'fog/vcloud/models/shared/tasks'
require 'fog/vcloud/models/shared/vdc'
require 'fog/vcloud/models/shared/vdcs'
end
end
end
end