Class: Builderator::Tasks::Vagrant
Overview
Class Method Summary
collapse
Instance Method Summary
collapse
#run, #run_with_input, #run_without_bundler, #template, #thor_run
Class Method Details
.exit_on_failure? ⇒ Boolean
16
17
18
|
# File 'lib/builderator/tasks/vagrant.rb', line 16
def self.exit_on_failure?
true
end
|
Instance Method Details
#clean(profile = :default) ⇒ Object
128
129
130
131
132
133
|
# File 'lib/builderator/tasks/vagrant.rb', line 128
def clean(profile = :default)
destroy(profile)
remove_dir Interface.vagrant.directory.join('.vagrant')
remove_file Interface.vagrant.source
end
|
21
22
23
24
25
26
|
# File 'lib/builderator/tasks/vagrant.rb', line 21
def configure(profile = :default)
Config.profile.use(profile)
invoke Tasks::Version, :current, [], options
Interface.vagrant.write
end
|
#destroy(profile = :default, *args) ⇒ Object
113
114
115
116
117
118
119
120
121
122
123
124
|
# File 'lib/builderator/tasks/vagrant.rb', line 113
def destroy(profile = :default, *args)
invoke :configure, [profile], options
inside Interface.vagrant.directory do
command = Interface.vagrant.command
command << " destroy #{args.join(' ')}"
command << ' -f' if options['force']
return run(command) if Interface.vagrant.bundled?
run_without_bundler command
end
end
|
#ec2(profile = :default, *args) ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/builderator/tasks/vagrant.rb', line 43
def ec2(profile = :default, *args)
invoke :configure, [profile], options
inside Interface.vagrant.directory do
command = Interface.vagrant.command
command << " up --provider=#{Config.profile.current.vagrant.ec2.provider} "
command << args.join(' ')
return run(command) if Interface.vagrant.bundled?
run_without_bundler command
end
end
|
#local(profile = :default, *args) ⇒ Object
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'lib/builderator/tasks/vagrant.rb', line 29
def local(profile = :default, *args)
invoke :configure, [profile], options
inside Interface.vagrant.directory do
command = Interface.vagrant.command
command << " up --provider=#{Config.profile.current.vagrant.local.provider} "
command << args.join(' ')
return run(command) if Interface.vagrant.bundled?
run_without_bundler command
end
end
|
#plugins(project = :default) ⇒ Object
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
# File 'lib/builderator/tasks/vagrant.rb', line 136
def plugins(project = :default)
if Interface.vagrant.bundled?
say 'Vagrant is already bundled. Required plugins are already part of the bundle as well'
return
end
Config.generator.project.use(project)
Config.generator.project.current.vagrant.plugin.each do |pname, plugin|
command = Interface.vagrant.command
command << " plugin install #{ pname }"
command << " --plugin-version #{ plugin.version }" if plugin.has?(:version)
return run(command) if Interface.vagrant.bundled?
run_without_bundler command
end
end
|
#provision(profile = :default, *args) ⇒ Object
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/builderator/tasks/vagrant.rb', line 57
def provision(profile = :default, *args)
invoke :configure, [profile], options
invoke Berkshelf, :vendor, [], options
invoke :rsync, [profile], options
inside Interface.vagrant.directory do
command = Interface.vagrant.command
command << " provision #{args.join(' ')}"
return run(command) if Interface.vagrant.bundled?
run_without_bundler command
end
end
|
#rsync(profile = :default, *args) ⇒ Object
99
100
101
102
103
104
105
106
107
108
109
|
# File 'lib/builderator/tasks/vagrant.rb', line 99
def rsync(profile = :default, *args)
invoke :configure, [profile], options
inside Interface.vagrant.directory do
command = Interface.vagrant.command
command << " rsync #{args.join(' ')}"
return run(command) if Interface.vagrant.bundled?
run_without_bundler command
end
end
|
#ssh(profile = :default, *args) ⇒ Object
86
87
88
89
90
91
92
93
94
95
96
|
# File 'lib/builderator/tasks/vagrant.rb', line 86
def ssh(profile = :default, *args)
invoke :configure, [profile], options
inside Interface.vagrant.directory do
command = Interface.vagrant.command
command << " ssh #{args.join(' ')}"
return run(command) if Interface.vagrant.bundled?
run_without_bundler command, :childprocess => true
end
end
|
#status(profile = :default, *args) ⇒ Object
73
74
75
76
77
78
79
80
81
82
83
|
# File 'lib/builderator/tasks/vagrant.rb', line 73
def status(profile = :default, *args)
invoke :configure, [profile], options
inside Interface.vagrant.directory do
command = Interface.vagrant.command
command << " status #{args.join(' ')}"
return run(command) if Interface.vagrant.bundled?
run_without_bundler command
end
end
|