vagrant-hostmaster 0.6.12 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/vagrant/hostmaster.rb +9 -1
- data/lib/vagrant/hostmaster/command/remove.rb +0 -1
- data/lib/vagrant/hostmaster/middleware/remove.rb +21 -0
- data/lib/vagrant/hostmaster/middleware/update.rb +21 -0
- data/lib/vagrant/hostmaster/version.rb +1 -1
- data/lib/vagrant/hostmaster/vm.rb +8 -5
- metadata +5 -3
data/lib/vagrant/hostmaster.rb
CHANGED
@@ -2,6 +2,14 @@ require 'vagrant/hostmaster/version'
|
|
2
2
|
require 'vagrant/hostmaster/command/root'
|
3
3
|
require 'vagrant/hostmaster/config'
|
4
4
|
require 'vagrant/hostmaster/vm'
|
5
|
+
require 'vagrant/hostmaster/middleware/remove'
|
6
|
+
require 'vagrant/hostmaster/middleware/update'
|
5
7
|
|
6
8
|
Vagrant.commands.register(:hosts) { Vagrant::Hostmaster::Command::Root }
|
7
|
-
Vagrant.config_keys.register(:hosts) { Vagrant::Hostmaster::Config }
|
9
|
+
Vagrant.config_keys.register(:hosts) { Vagrant::Hostmaster::Config }
|
10
|
+
Vagrant.commands.register(:hosts) { Vagrant::Hostmaster::Command::Root }
|
11
|
+
|
12
|
+
Vagrant.actions[:destroy].insert_after(Vagrant::Action::VM::ProvisionerCleanup, Vagrant::Hostmaster::Middleware::Remove)
|
13
|
+
|
14
|
+
Vagrant.actions[:provision].insert(Vagrant::Action::VM::Provision, Vagrant::Hostmaster::Middleware::Update)
|
15
|
+
Vagrant.actions[:start].insert(Vagrant::Action::VM::Provision, Vagrant::Hostmaster::Middleware::Update)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Vagrant
|
2
|
+
module Hostmaster
|
3
|
+
module Middleware
|
4
|
+
class Remove
|
5
|
+
def initialize(app, env)
|
6
|
+
@app = app
|
7
|
+
end
|
8
|
+
|
9
|
+
def call(env)
|
10
|
+
remove env[:vm]
|
11
|
+
@app.call(env)
|
12
|
+
end
|
13
|
+
|
14
|
+
protected
|
15
|
+
def remove(vm)
|
16
|
+
Hostmaster::VM.new(vm).remove
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module Vagrant
|
2
|
+
module Hostmaster
|
3
|
+
module Middleware
|
4
|
+
class Update
|
5
|
+
def initialize(app, env)
|
6
|
+
@app = app
|
7
|
+
end
|
8
|
+
|
9
|
+
def call(env)
|
10
|
+
update env[:vm]
|
11
|
+
@app.call(env)
|
12
|
+
end
|
13
|
+
|
14
|
+
protected
|
15
|
+
def update(vm)
|
16
|
+
Hostmaster::VM.new(vm).update
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -11,20 +11,23 @@ module Vagrant
|
|
11
11
|
@vm = vm
|
12
12
|
end
|
13
13
|
|
14
|
-
def add
|
14
|
+
def add(options = {})
|
15
|
+
env.ui.info("Adding host entry for #{name} VM. Administrator privileges will be required...") unless options[:quiet]
|
15
16
|
sudo %Q(sh -c 'echo "#{host_entry}" >>/etc/hosts')
|
16
17
|
end
|
17
18
|
|
18
|
-
def list
|
19
|
+
def list(options = {})
|
19
20
|
system %Q(grep '#{signature}$' /etc/hosts)
|
20
21
|
end
|
21
22
|
|
22
|
-
def remove
|
23
|
+
def remove(options = {})
|
24
|
+
env.ui.info("Removing host entry for #{name} VM. Administrator privileges will be required...") unless options[:quiet]
|
23
25
|
sudo %Q(sed -e '/#{signature}$/ d' -ibak /etc/hosts)
|
24
26
|
end
|
25
27
|
|
26
|
-
def update
|
27
|
-
|
28
|
+
def update(options = {})
|
29
|
+
env.ui.info("Updating host entry for #{name} VM. Administrator privileges will be required...") unless options[:quiet]
|
30
|
+
remove(:quiet => true) && add(:quiet => true)
|
28
31
|
end
|
29
32
|
|
30
33
|
protected
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
7
|
+
- 7
|
8
|
+
- 0
|
9
|
+
version: 0.7.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- S. Brent Faulkner
|
@@ -64,6 +64,8 @@ files:
|
|
64
64
|
- lib/vagrant/hostmaster/command/root.rb
|
65
65
|
- lib/vagrant/hostmaster/command/update.rb
|
66
66
|
- lib/vagrant/hostmaster/config.rb
|
67
|
+
- lib/vagrant/hostmaster/middleware/remove.rb
|
68
|
+
- lib/vagrant/hostmaster/middleware/update.rb
|
67
69
|
- lib/vagrant/hostmaster/version.rb
|
68
70
|
- lib/vagrant/hostmaster/vm.rb
|
69
71
|
- lib/vagrant_init.rb
|