Class: Vagrant::Action::Builtin::SetHostname
- Inherits:
-
Object
- Object
- Vagrant::Action::Builtin::SetHostname
- Defined in:
- lib/vagrant/action/builtin/set_hostname.rb
Overview
This middleware sets the hostname of the guest according to the "vm.hostname" configuration parameter if it is set. This middleware should be placed such that the after the @app.call, a booted machine is available (this generally means BEFORE the boot middleware).
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, env) ⇒ SetHostname
constructor
A new instance of SetHostname.
Constructor Details
#initialize(app, env) ⇒ SetHostname
Returns a new instance of SetHostname.
14 15 16 17 |
# File 'lib/vagrant/action/builtin/set_hostname.rb', line 14 def initialize(app, env) @app = app @logger = Log4r::Logger.new("vagrant::action::builtin::set_hostname") end |
Instance Method Details
#call(env) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/vagrant/action/builtin/set_hostname.rb', line 19 def call(env) @app.call(env) hostname = env[:machine].config.vm.hostname allow_hosts_modification = env[:machine].config.vm.allow_hosts_modification if !hostname.nil? && allow_hosts_modification env[:ui].info I18n.t("vagrant.actions.vm.hostname.setting") env[:machine].guest.capability(:change_host_name, hostname) else @logger.info("`allow_hosts_modification` set to false. Hosts modification has been disabled, skiping changing hostname.") end end |