Class: Synapse::ConfigGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/synapse/config_generator.rb,
lib/synapse/config_generator/base.rb,
lib/synapse/config_generator/haproxy.rb,
lib/synapse/config_generator/file_output.rb

Defined Under Namespace

Classes: BaseGenerator, FileOutput, Haproxy

Class Method Summary collapse

Class Method Details

.create(type, opts) ⇒ Object

the type which actually dispatches generator creation requests



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/synapse/config_generator.rb', line 7

def self.create(type, opts)
  generator = begin
    type = type.downcase
    require "synapse/config_generator/#{type}"
    # haproxy => Haproxy, file_output => FileOutput, etc ...
    type_class  = type.split('_').map{|x| x.capitalize}.join
    self.const_get("#{type_class}")
  rescue Exception => e
    raise ArgumentError, "Specified a config generator of #{type}, which could not be found: #{e}"
  end
  return generator.new(opts)
end