Class: Bcome::Driver::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/objects/driver/base.rb

Direct Known Subclasses

Ec2, Static

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Base

Returns a new instance of Base.



22
23
24
# File 'lib/objects/driver/base.rb', line 22

def initialize(params)
  @params = params
end

Class Method Details

.create_from_config(config) ⇒ Object



4
5
6
7
8
9
10
11
12
# File 'lib/objects/driver/base.rb', line 4

def create_from_config(config)
  raise Bcome::Exception::InvalidNetworkDriverType, 'Your network configurtion is invalid' unless config.is_a?(Hash)
  raise Bcome::Exception::InvalidNetworkDriverType, "Missing config parameter 'type'" unless config[:type]
  config_klass_key = config[:type].to_sym
  driver_klass = klass_for_type[config_klass_key]
  raise Bcome::Exception::InvalidNetworkDriverType, config unless driver_klass
  driver = driver_klass.new(config)
  driver
end

.klass_for_typeObject



14
15
16
17
18
19
# File 'lib/objects/driver/base.rb', line 14

def klass_for_type
  {
    static: ::Bcome::Driver::Static,
    ec2: ::Bcome::Driver::Ec2
  }
end

Instance Method Details

#configObject



26
27
28
# File 'lib/objects/driver/base.rb', line 26

def config
  @params
end