Class: VagrantPlugins::Registration::Plugin
- Inherits:
-
Object
- Object
- VagrantPlugins::Registration::Plugin
- Defined in:
- lib/vagrant-registration/plugin.rb
Class Method Summary collapse
-
.register(hook) ⇒ Object
Vbguest plugin updates GuestAdditions for VirtualBox before ‘::Vagrant::Action::Builtin::SyncedFolders’ and therefore needs to be registered.
-
.setup_logging ⇒ Object
This sets up our log level to be whatever VAGRANT_LOG is for loggers prepended with ‘vagrant_registration’.
- .unregister_on_destroy(hook) ⇒ Object
- .unregister_on_halt(hook) ⇒ Object
-
.vbguest_plugin? ⇒ Boolean
Determines if both VirtualBox provider and Vbguest plugin are present.
Class Method Details
.register(hook) ⇒ Object
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.
23 24 25 26 27 28 29 30 31 32 33 |
# 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 ⇒ Object
This sets up our log level to be whatever VAGRANT_LOG is for loggers prepended with ‘vagrant_registration’
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# 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) ⇒ Object
40 41 42 43 |
# 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) ⇒ Object
35 36 37 38 |
# 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? ⇒ Boolean
Determines if both VirtualBox provider and Vbguest plugin are present.
91 92 93 94 95 96 |
# File 'lib/vagrant-registration/plugin.rb', line 91 def self.vbguest_plugin? @@vbguest_plugin ||= ( defined?(VagrantPlugins::ProviderVirtualBox::Provider) && defined?(VagrantVbguest::Middleware) ) end |