fluke/devops-service/db/mongo/models/stack/stack_factory.rb
2015-02-12 13:01:05 +03:00

27 lines
548 B
Ruby

require_relative "stack_base"
require_relative "stack_openstack"
require_relative "stack_ec2"
class StackFactory
def self.create(provider, attrs)
get_class(provider).create(attrs)
end
def self.create_from_bson(provider, attrs)
get_class(provider).create_from_bson(attrs)
end
def self.get_class(provider)
case provider
when ::Provider::Openstack::PROVIDER
StackOpenstack
when ::Provider::Ec2::PROVIDER
StackEc2
else
raise InvalidRecord.new "Invalid provider: '#{provider}'"
end
end
end