class VagrantPlugins::Registration::Plugin
Public Class Methods
register(hook)
click to toggle source
Vbguest plugin updates GuestAdditions for VirtualBox before '::Vagrant::Action::Builtin::SyncedFolders' and therefore needs to be registered. Prepending Vbguest hook ensures that, but this is done only with Vbguest plugin and VirtualBox provider. In other cases the behavior is unchanged.
# File lib/vagrant-registration/plugin.rb, line 23 def register(hook) setup_logging if vbguest_plugin? hook.before(::VagrantVbguest::Middleware, VagrantPlugins::Registration::Action.action_register) else hook.after(::Vagrant::Action::Builtin::SyncedFolders, VagrantPlugins::Registration::Action.action_register) end end
setup_logging()
click to toggle source
This sets up our log level to be whatever VAGRANT_LOG is for loggers prepended with 'vagrant_registration'
# File lib/vagrant-registration/plugin.rb, line 65 def self.setup_logging require 'log4r' level = nil begin level = Log4r.const_get(ENV['VAGRANT_LOG'].upcase) rescue NameError # This means that the logging constant wasn't found, # which is fine. We just keep `level` as `nil`. But # we tell the user. level = nil end # Some constants, such as "true" resolve to booleans, so the # above error checking doesn't catch it. This will check to make # sure that the log level is an integer, as Log4r requires. level = nil unless level.is_a?(Integer) # Set the logging level on all "vagrant" namespaced # logs as long as we have a valid level. if level logger = Log4r::Logger.new('vagrant_registration') logger.outputters = Log4r::Outputter.stderr logger.level = level logger = nil end end
unregister_on_destroy(hook)
click to toggle source
# File lib/vagrant-registration/plugin.rb, line 40 def unregister_on_destroy(hook) setup_logging hook.prepend(VagrantPlugins::Registration::Action.action_unregister_on_destroy) end
unregister_on_halt(hook)
click to toggle source
# File lib/vagrant-registration/plugin.rb, line 35 def unregister_on_halt(hook) setup_logging hook.prepend(VagrantPlugins::Registration::Action.action_unregister_on_halt) end
vbguest_plugin?()
click to toggle source
Determines if both VirtualBox provider and Vbguest plugin are present.
# File lib/vagrant-registration/plugin.rb, line 91 def self.vbguest_plugin? @@vbguest_plugin ||= ( defined?(VagrantPlugins::ProviderVirtualBox::Provider) && defined?(VagrantVbguest::Middleware) ) end