Class: Configulator::ConfigTemplate

Inherits:
Object
  • Object
show all
Defined in:
lib/configulator/config_template.rb

Direct Known Subclasses

JSONConfigTemplate, YAMLConfigTemplate

Instance Method Summary collapse

Constructor Details

#initialize(conf, environment = nil) ⇒ ConfigTemplate

Returns a new instance of ConfigTemplate.



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/configulator/config_template.rb', line 13

def initialize(conf, environment = nil)
  if environment.nil?
    @binding = make_binding conf
  else
    raise "No such environment: #{environment}" unless conf.has_key? environment
    env = conf[environment]
    env = conf['default'].merge(env) if conf.has_key? 'default'
    env['environment_name'] = environment
    @binding = make_binding env
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name, *args, &block) ⇒ Object



33
34
35
# File 'lib/configulator/config_template.rb', line 33

def method_missing(name, *args, &block)
  get name
end

Instance Method Details

#convert_file(infile) ⇒ Object



25
26
27
# File 'lib/configulator/config_template.rb', line 25

def convert_file(infile)
  ERB.new(File.read(infile)).result(@binding)
end

#get(name) ⇒ Object



29
30
31
# File 'lib/configulator/config_template.rb', line 29

def get(name)
  eval name.to_s, @binding
end