Class: Vagrant::Config

Inherits:
Object
  • Object
show all
Extended by:
Util::StackedProcRunner
Defined in:
lib/vagrant/config.rb,
lib/vagrant/config.rb

Defined Under Namespace

Classes: Base, PackageConfig, SSHConfig, Top, VMConfig, VagrantConfig

Constant Summary collapse

@@config =
nil

Class Method Summary collapse

Methods included from Util::StackedProcRunner

proc_stack, push_proc, run_procs!

Class Method Details

.config(env = nil) ⇒ Object



24
25
26
# File 'lib/vagrant/config.rb', line 24

def config(env=nil)
  @@config ||= Config::Top.new(env)
end

.configures(key, klass) ⇒ Object



20
21
22
# File 'lib/vagrant/config.rb', line 20

def configures(key, klass)
  config.class.configures(key, klass)
end

.execute!Object



32
33
34
35
36
# File 'lib/vagrant/config.rb', line 32

def execute!
  run_procs!(config)
  config.loaded!
  config
end

.reset!(env = nil) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/vagrant/config.rb', line 12

def reset!(env=nil)
  @@config = nil
  proc_stack.clear

  # Reset the configuration to the specified environment
  config(env)
end

.run(&block) ⇒ Object



28
29
30
# File 'lib/vagrant/config.rb', line 28

def run(&block)
  push_proc(&block)
end