8f2b889cced63e21d6546789dde5368e44279392
[vagrant-dotfiles.git] / lib / copy_my_conf.rb
1 require 'boot'
2 module Vagrant
3 module Provisioners
4 class CopyMyConf < Base
5 def initialize *args
6 `rm -rf /tmp/copy_my_conf`
7 super *args
8 end
9
10 def prepare
11 @to_be_copied = []
12 config.all_true.each do |c|
13 conf = self.class.const_get(c.capitalize).new
14 @to_be_copied << conf
15 conf.prepare env[:vm].config.vm, tmp_root
16 end
17 end
18
19 def provision!
20 channel = env[:vm].channel
21 @to_be_copied.each do |conf|
22 conf.provision channel, user_home, tmp_root
23 end
24 end
25
26 def self.config_class
27 Config
28 end
29
30 private
31
32 def tmp_root
33 "/tmp/copy_my_conf"
34 end
35
36 def user_home
37 config.user_home || "/home/vagrant"
38 end
39 end
40 end
41 end