Class: VagrantPlugins::ProviderZone::Plugin

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-zones/plugin.rb

Overview

This is a the plugin droping for the Vagrant-zones vagrant plugin

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.setup_i18nObject

This initializes the internationalization strings.



29
30
31
32
# File 'lib/vagrant-zones/plugin.rb', line 29

def self.setup_i18n
  I18n.load_path << File.expand_path('locales/en.yml', ProviderZone.source_root)
  I18n.reload!
end

.setup_loggingObject

This sets up our log level to be whatever VAGRANT_LOG is.



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/vagrant-zones/plugin.rb', line 35

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.

  return unless level

  logger = Log4r::Logger.new('vagrant_zones')
  logger.outputters = Log4r::Outputter.stderr
  logger.level = level
  logger
end

Instance Method Details

#zoneObject

This setups the zone commands master



71
72
73
74
# File 'lib/vagrant-zones/plugin.rb', line 71

command('zone') do
  require_relative 'command/zone'
  Command::Zone
end