vagrant-parallels 1.4.2 → 1.4.3

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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -8
  3. data/Rakefile +2 -2
  4. data/lib/vagrant-parallels.rb +7 -44
  5. data/lib/vagrant-parallels/action.rb +45 -45
  6. data/lib/vagrant-parallels/action/boot.rb +1 -2
  7. data/lib/vagrant-parallels/action/clear_network_interfaces.rb +1 -1
  8. data/lib/vagrant-parallels/action/customize.rb +1 -1
  9. data/lib/vagrant-parallels/action/destroy.rb +1 -1
  10. data/lib/vagrant-parallels/action/destroy_unused_network_interfaces.rb +2 -2
  11. data/lib/vagrant-parallels/action/forced_halt.rb +1 -1
  12. data/lib/vagrant-parallels/action/forward_ports.rb +2 -2
  13. data/lib/vagrant-parallels/action/handle_guest_tools.rb +9 -10
  14. data/lib/vagrant-parallels/action/import.rb +36 -24
  15. data/lib/vagrant-parallels/action/network.rb +37 -37
  16. data/lib/vagrant-parallels/action/package.rb +3 -3
  17. data/lib/vagrant-parallels/action/package_config_files.rb +3 -2
  18. data/lib/vagrant-parallels/action/prepare_nfs_settings.rb +2 -2
  19. data/lib/vagrant-parallels/action/resume.rb +1 -1
  20. data/lib/vagrant-parallels/action/sane_defaults.rb +0 -1
  21. data/lib/vagrant-parallels/action/set_name.rb +7 -7
  22. data/lib/vagrant-parallels/action/setup_package_files.rb +6 -6
  23. data/lib/vagrant-parallels/action/suspend.rb +1 -1
  24. data/lib/vagrant-parallels/config.rb +9 -11
  25. data/lib/vagrant-parallels/driver/meta.rb +1 -1
  26. data/lib/vagrant-parallels/driver/pd_10.rb +1 -1
  27. data/lib/vagrant-parallels/driver/pd_11.rb +1 -1
  28. data/lib/vagrant-parallels/driver/pd_8.rb +19 -19
  29. data/lib/vagrant-parallels/driver/pd_9.rb +1 -1
  30. data/lib/vagrant-parallels/errors.rb +2 -2
  31. data/lib/vagrant-parallels/guest_cap/linux/install_parallels_tools.rb +5 -5
  32. data/lib/vagrant-parallels/guest_cap/linux/mount_parallels_shared_folder.rb +3 -3
  33. data/lib/vagrant-parallels/model/forwarded_port.rb +1 -1
  34. data/lib/vagrant-parallels/plugin.rb +65 -30
  35. data/lib/vagrant-parallels/provider.rb +8 -8
  36. data/lib/vagrant-parallels/synced_folder.rb +6 -6
  37. data/lib/vagrant-parallels/util/compile_forwarded_ports.rb +1 -1
  38. data/lib/vagrant-parallels/version.rb +1 -1
  39. data/tasks/acceptance.rake +4 -4
  40. data/tasks/test.rake +1 -1
  41. data/test/acceptance/base.rb +2 -2
  42. data/test/acceptance/provider/linked_clone_spec.rb +2 -2
  43. data/test/acceptance/shared/context_parallels.rb +1 -1
  44. data/test/acceptance/skeletons/linked_clone/Vagrantfile +3 -3
  45. data/test/unit/base.rb +6 -6
  46. data/test/unit/config_test.rb +22 -22
  47. data/test/unit/driver/pd_10_test.rb +7 -7
  48. data/test/unit/driver/pd_8_test.rb +4 -4
  49. data/test/unit/driver/pd_9_test.rb +6 -6
  50. data/test/unit/support/shared/pd_driver_examples.rb +97 -97
  51. data/test/unit/synced_folder_test.rb +11 -11
  52. data/vagrant-parallels.gemspec +17 -19
  53. metadata +2 -32
  54. data/config/i18n-tasks.yml.erb +0 -18
  55. data/test/unit/locales/locales_test.rb +0 -14
@@ -5,13 +5,13 @@ module VagrantPlugins
5
5
  def initialize(app, env)
6
6
  @app = app
7
7
 
8
- env["package.include"] ||= []
9
- env["package.vagrantfile"] ||= nil
8
+ env['package.include'] ||= []
9
+ env['package.vagrantfile'] ||= nil
10
10
  end
11
11
 
12
12
  def call(env)
13
13
  files = {}
14
- env["package.include"].each do |file|
14
+ env['package.include'].each do |file|
15
15
  source = Pathname.new(file)
16
16
 
17
17
  # If the source is relative then we add the file as-is to the include
@@ -28,9 +28,9 @@ module VagrantPlugins
28
28
  files[file] = dest
29
29
  end
30
30
 
31
- if env["package.vagrantfile"]
31
+ if env['package.vagrantfile']
32
32
  # Vagrantfiles are treated special and mapped to a specific file
33
- files[env["package.vagrantfile"]] = "_Vagrantfile"
33
+ files[env['package.vagrantfile']] = '_Vagrantfile'
34
34
  end
35
35
 
36
36
  # Verify the mapping
@@ -40,7 +40,7 @@ module VagrantPlugins
40
40
  end
41
41
 
42
42
  # Save the mapping
43
- env["package.files"] = files
43
+ env['package.files'] = files
44
44
 
45
45
  @app.call(env)
46
46
  end
@@ -8,7 +8,7 @@ module VagrantPlugins
8
8
 
9
9
  def call(env)
10
10
  if env[:machine].state.id == :running
11
- env[:ui].info I18n.t("vagrant.actions.vm.suspend.suspending")
11
+ env[:ui].info I18n.t('vagrant.actions.vm.suspend.suspending')
12
12
  env[:machine].provider.driver.suspend
13
13
  end
14
14
 
@@ -1,6 +1,6 @@
1
1
  module VagrantPlugins
2
2
  module Parallels
3
- class Config < Vagrant.plugin("2", :config)
3
+ class Config < Vagrant.plugin('2', :config)
4
4
  attr_accessor :check_guest_tools
5
5
  attr_reader :customizations
6
6
  attr_accessor :destroy_unused_network_interfaces
@@ -34,7 +34,7 @@ module VagrantPlugins
34
34
  end
35
35
 
36
36
  def customize(*command)
37
- event = command.first.is_a?(String) ? command.shift : "pre-boot"
37
+ event = command.first.is_a?(String) ? command.shift : 'pre-boot'
38
38
  command = command[0]
39
39
  @customizations << [event, command]
40
40
  end
@@ -45,11 +45,11 @@ module VagrantPlugins
45
45
 
46
46
  # @param size [Integer, String] the memory size in MB
47
47
  def memory=(size)
48
- customize("pre-boot", ["set", :id, "--memsize", size.to_s])
48
+ customize('pre-boot', ['set', :id, '--memsize', size.to_s])
49
49
  end
50
50
 
51
51
  def cpus=(count)
52
- customize("pre-boot", ["set", :id, "--cpus", count.to_i])
52
+ customize('pre-boot', ['set', :id, '--cpus', count.to_i])
53
53
  end
54
54
 
55
55
  def regen_box_uuid=(value)
@@ -97,21 +97,19 @@ module VagrantPlugins
97
97
  valid_events = ['pre-import', 'post-import', 'pre-boot', 'post-boot', 'post-comm']
98
98
  @customizations.each do |event, _|
99
99
  if !valid_events.include?(event)
100
- errors << I18n.t("vagrant_parallels.config.invalid_event",
100
+ errors << I18n.t('vagrant_parallels.config.invalid_event',
101
101
  event: event.to_s,
102
- valid_events: valid_events.join(", "))
102
+ valid_events: valid_events.join(', '))
103
103
  end
104
104
  end
105
105
  @customizations.each do |event, command|
106
- if event == "pre-import" && command.index(:id)
107
- errors << I18n.t("vagrant_parallels.config.id_in_pre_import")
106
+ if event == 'pre-import' && command.index(:id)
107
+ errors << I18n.t('vagrant_parallels.config.id_in_pre_import')
108
108
  end
109
109
  end
110
110
 
111
- { "Parallels Provider" => errors }
112
-
111
+ { 'Parallels Provider' => errors }
113
112
  end
114
-
115
113
  end
116
114
  end
117
115
  end
@@ -1,7 +1,7 @@
1
1
  require 'forwardable'
2
2
  require 'log4r'
3
3
 
4
- require File.expand_path('../base', __FILE__)
4
+ require_relative 'base'
5
5
 
6
6
  module VagrantPlugins
7
7
  module Parallels
@@ -2,7 +2,7 @@ require 'log4r'
2
2
 
3
3
  require 'vagrant/util/platform'
4
4
 
5
- require File.expand_path('../pd_9', __FILE__)
5
+ require_relative 'pd_9'
6
6
 
7
7
  module VagrantPlugins
8
8
  module Parallels
@@ -2,7 +2,7 @@ require 'log4r'
2
2
 
3
3
  require 'vagrant/util/platform'
4
4
 
5
- require File.expand_path('../pd_10', __FILE__)
5
+ require_relative 'pd_10'
6
6
 
7
7
  module VagrantPlugins
8
8
  module Parallels
@@ -4,7 +4,7 @@ require 'securerandom'
4
4
 
5
5
  require 'vagrant/util/platform'
6
6
 
7
- require File.expand_path("../base", __FILE__)
7
+ require_relative 'base'
8
8
 
9
9
  module VagrantPlugins
10
10
  module Parallels
@@ -23,7 +23,7 @@ module VagrantPlugins
23
23
  # 'Shared'(vnic0) and 'Host-Only'(vnic1) are default in Parallels Desktop
24
24
  # They should not be deleted anyway.
25
25
  networks.keep_if do |net|
26
- net['Type'] == "host-only" &&
26
+ net['Type'] == 'host-only' &&
27
27
  net['Bound To'].match(/^(?>vnic|Parallels Host-Only #)(\d+)$/)[1].to_i >= 2
28
28
  end
29
29
 
@@ -58,9 +58,9 @@ module VagrantPlugins
58
58
  adapters.each do |adapter|
59
59
  args = []
60
60
  if existing_adapters.include? "net#{adapter[:adapter]}"
61
- args.concat(["--device-set","net#{adapter[:adapter]}", "--enable"])
61
+ args.concat(['--device-set',"net#{adapter[:adapter]}", '--enable'])
62
62
  else
63
- args.concat(["--device-add", "net"])
63
+ args.concat(['--device-add', 'net'])
64
64
  end
65
65
 
66
66
  if adapter[:type] == :hostonly
@@ -73,28 +73,28 @@ module VagrantPlugins
73
73
  # The only difference is the destination interface:
74
74
  # - in host-only (private) network it will be bridged to the 'vnicX' device
75
75
  # - in real bridge (public) network it will be bridged to the assigned device
76
- args.concat(["--type", "bridged", "--iface", net_info['Bound To']])
76
+ args.concat(['--type', 'bridged', '--iface', net_info['Bound To']])
77
77
  elsif adapter[:type] == :bridged
78
- args.concat(["--type", "bridged", "--iface", adapter[:bridge]])
78
+ args.concat(['--type', 'bridged', '--iface', adapter[:bridge]])
79
79
  elsif adapter[:type] == :shared
80
- args.concat(["--type", "shared"])
80
+ args.concat(['--type', 'shared'])
81
81
  end
82
82
 
83
83
  if adapter[:mac_address]
84
- args.concat(["--mac", adapter[:mac_address]])
84
+ args.concat(['--mac', adapter[:mac_address]])
85
85
  end
86
86
 
87
87
  if adapter[:nic_type]
88
- args.concat(["--adapter-type", adapter[:nic_type].to_s])
88
+ args.concat(['--adapter-type', adapter[:nic_type].to_s])
89
89
  end
90
90
 
91
- execute_prlctl("set", @uuid, *args)
91
+ execute_prlctl('set', @uuid, *args)
92
92
  end
93
93
  end
94
94
 
95
95
  def read_host_only_interfaces
96
96
  net_list = read_virtual_networks
97
- net_list.keep_if { |net| net['Type'] == "host-only" }
97
+ net_list.keep_if { |net| net['Type'] == 'host-only' }
98
98
 
99
99
  hostonly_ifaces = []
100
100
  net_list.each do |iface|
@@ -105,7 +105,7 @@ module VagrantPlugins
105
105
  info[:ip] = net_info['Parallels adapter']['IP address']
106
106
  info[:netmask] = net_info['Parallels adapter']['Subnet mask']
107
107
  # Such interfaces are always in 'Up'
108
- info[:status] = "Up"
108
+ info[:status] = 'Up'
109
109
 
110
110
  # There may be a fake DHCPv4 parameters
111
111
  # We can trust them only if adapter IP and DHCP IP are in the same subnet
@@ -128,23 +128,23 @@ module VagrantPlugins
128
128
 
129
129
  # Get enabled VM's network interfaces
130
130
  ifaces = read_settings.fetch('Hardware', {}).keep_if do |dev, params|
131
- dev.start_with?('net') and params.fetch("enabled", true)
131
+ dev.start_with?('net') and params.fetch('enabled', true)
132
132
  end
133
133
  ifaces.each do |name, params|
134
134
  adapter = name.match(/^net(\d+)$/)[1].to_i
135
135
  nics[adapter] ||= {}
136
136
 
137
- if params['type'] == "shared"
137
+ if params['type'] == 'shared'
138
138
  nics[adapter][:type] = :shared
139
- elsif params['type'] == "host"
139
+ elsif params['type'] == 'host'
140
140
  # It is PD internal host-only network and it is bounded to 'vnic1'
141
141
  nics[adapter][:type] = :hostonly
142
- nics[adapter][:hostonly] = "vnic1"
143
- elsif params['type'] == "bridged" and params.fetch('iface','').start_with?('vnic')
142
+ nics[adapter][:hostonly] = 'vnic1'
143
+ elsif params['type'] == 'bridged' and params.fetch('iface','').start_with?('vnic')
144
144
  # Bridged to the 'vnicXX'? Then it is a host-only, actually.
145
145
  nics[adapter][:type] = :hostonly
146
146
  nics[adapter][:hostonly] = params.fetch('iface','')
147
- elsif params['type'] == "bridged"
147
+ elsif params['type'] == 'bridged'
148
148
  nics[adapter][:type] = :bridged
149
149
  nics[adapter][:bridge] = params.fetch('iface','')
150
150
  end
@@ -160,7 +160,7 @@ module VagrantPlugins
160
160
  name: net_info['Bound To'],
161
161
  ip: net_info['Parallels adapter']['IP address'],
162
162
  netmask: net_info['Parallels adapter']['Subnet mask'],
163
- status: "Up"
163
+ status: 'Up'
164
164
  }
165
165
 
166
166
  if net_info.key?('DHCPv4 server')
@@ -2,7 +2,7 @@ require 'log4r'
2
2
 
3
3
  require 'vagrant/util/platform'
4
4
 
5
- require File.expand_path('../pd_8', __FILE__)
5
+ require_relative 'pd_8'
6
6
 
7
7
  module VagrantPlugins
8
8
  module Parallels
@@ -1,10 +1,10 @@
1
- require "vagrant"
1
+ require 'vagrant'
2
2
 
3
3
  module VagrantPlugins
4
4
  module Parallels
5
5
  module Errors
6
6
  class VagrantParallelsError < Vagrant::Errors::VagrantError
7
- error_namespace("vagrant_parallels.errors")
7
+ error_namespace('vagrant_parallels.errors')
8
8
  end
9
9
 
10
10
  class DhcpLeasesNotAccessible < VagrantParallelsError
@@ -7,14 +7,14 @@ module VagrantPlugins
7
7
  if ptiagent_usable?(machine)
8
8
  # Argument '--info' means that Parallels Tools version will be
9
9
  # checked before the installing.
10
- machine.communicate.sudo("ptiagent-cmd --info")
10
+ machine.communicate.sudo('ptiagent-cmd --info')
11
11
  else
12
12
  machine.communicate.tap do |comm|
13
13
  tools_iso_path = File.expand_path(
14
- machine.provider.driver.read_guest_tools_iso_path("linux"),
14
+ machine.provider.driver.read_guest_tools_iso_path('linux'),
15
15
  machine.env.root_path
16
16
  )
17
- remote_file = "/tmp/prl-tools-lin.iso"
17
+ remote_file = '/tmp/prl-tools-lin.iso'
18
18
  mount_point = "/media/prl-tools-lin_#{rand(100000)}/"
19
19
 
20
20
  comm.upload(tools_iso_path, remote_file)
@@ -44,8 +44,8 @@ module VagrantPlugins
44
44
  # 'ptiagent-cmd' binary should be available on the guest
45
45
 
46
46
  machine.provider_name == :parallels &&
47
- Gem::Version.new(machine.provider.driver.version) >= Gem::Version.new("9") &&
48
- machine.communicate.test("which ptiagent-cmd", :sudo => true)
47
+ Gem::Version.new(machine.provider.driver.version) >= Gem::Version.new('9') &&
48
+ machine.communicate.test('which ptiagent-cmd', :sudo => true)
49
49
  end
50
50
  end
51
51
  end
@@ -36,12 +36,12 @@ module VagrantPlugins
36
36
 
37
37
  # First mount command uses getent to get the group
38
38
  mount_options = "-o uid=#{mount_uid},gid=#{mount_gid}"
39
- mount_options += ",#{options[:mount_options].join(",")}" if options[:mount_options]
39
+ mount_options += ",#{options[:mount_options].join(',')}" if options[:mount_options]
40
40
  mount_commands << "mount -t prl_fs #{mount_options} #{name} #{expanded_guest_path}"
41
41
 
42
42
  # Second mount command uses the old style `id -g`
43
43
  mount_options = "-o uid=#{mount_uid},gid=#{mount_gid_old}"
44
- mount_options += ",#{options[:mount_options].join(",")}" if options[:mount_options]
44
+ mount_options += ",#{options[:mount_options].join(',')}" if options[:mount_options]
45
45
  mount_commands << "mount -t prl_fs #{mount_options} #{name} #{expanded_guest_path}"
46
46
 
47
47
  # Clear prior symlink if exists
@@ -80,7 +80,7 @@ module VagrantPlugins
80
80
  end
81
81
 
82
82
  # Emit an upstart event if we can
83
- if machine.communicate.test("test -x /sbin/initctl")
83
+ if machine.communicate.test('test -x /sbin/initctl')
84
84
  machine.communicate.sudo(
85
85
  "/sbin/initctl emit --no-wait vagrant-mounted MOUNTPOINT=#{expanded_guest_path}")
86
86
  end
@@ -37,7 +37,7 @@ module VagrantPlugins
37
37
  options ||= {}
38
38
  @auto_correct = false
39
39
  @auto_correct = options[:auto_correct] if options.has_key?(:auto_correct)
40
- @protocol = options[:protocol] || "tcp"
40
+ @protocol = options[:protocol] || 'tcp'
41
41
  end
42
42
 
43
43
  # This corrects the host port and changes it to the given new port.
@@ -1,105 +1,140 @@
1
1
  begin
2
- require "vagrant"
2
+ require 'vagrant'
3
3
  rescue LoadError
4
- raise "The Vagrant Parallels plugin must be run within Vagrant."
4
+ raise 'The Vagrant Parallels plugin must be run within Vagrant.'
5
5
  end
6
6
 
7
7
  # This is a sanity check to make sure no one is attempting to install
8
8
  # this into an early Vagrant version.
9
- if Vagrant::VERSION < "1.5.0"
10
- raise "The Vagrant Parallels plugin is only compatible with Vagrant 1.5+"
9
+ if Vagrant::VERSION < '1.5.0'
10
+ raise 'The Vagrant Parallels plugin is only compatible with Vagrant 1.5+'
11
11
  end
12
12
 
13
13
  module VagrantPlugins
14
14
  module Parallels
15
-
16
- class Plugin < Vagrant.plugin("2")
17
- name "vagrant-parallels"
15
+ class Plugin < Vagrant.plugin('2')
16
+ name 'vagrant-parallels'
18
17
  description <<-EOF
19
18
  The Parallels provider allows Vagrant to manage and control
20
- Parallels-based virtual machines.
19
+ Parallels Desktop virtual machines.
21
20
  EOF
22
21
 
23
22
  provider(:parallels, parallel: true, priority: 7) do
24
- require File.expand_path("../provider", __FILE__)
23
+ # Setup logging and i18n
24
+ setup_logging
25
+ setup_i18n
26
+
27
+ require_relative 'provider'
25
28
  Provider
26
29
  end
27
30
 
28
31
  config(:parallels, :provider) do
29
- require File.expand_path("../config", __FILE__)
32
+ require_relative 'config'
30
33
  Config
31
34
  end
32
35
 
33
36
  guest_capability(:darwin, :mount_parallels_shared_folder) do
34
- require_relative "guest_cap/darwin/mount_parallels_shared_folder"
37
+ require_relative 'guest_cap/darwin/mount_parallels_shared_folder'
35
38
  GuestDarwinCap::MountParallelsSharedFolder
36
39
  end
37
40
 
38
41
  guest_capability(:darwin, :unmount_parallels_shared_folder) do
39
- require_relative "guest_cap/darwin/mount_parallels_shared_folder"
42
+ require_relative 'guest_cap/darwin/mount_parallels_shared_folder'
40
43
  GuestDarwinCap::MountParallelsSharedFolder
41
44
  end
42
45
 
43
46
  guest_capability(:linux, :mount_parallels_shared_folder) do
44
- require_relative "guest_cap/linux/mount_parallels_shared_folder"
47
+ require_relative 'guest_cap/linux/mount_parallels_shared_folder'
45
48
  GuestLinuxCap::MountParallelsSharedFolder
46
49
  end
47
50
 
48
51
  guest_capability(:linux, :unmount_parallels_shared_folder) do
49
- require_relative "guest_cap/linux/mount_parallels_shared_folder"
52
+ require_relative 'guest_cap/linux/mount_parallels_shared_folder'
50
53
  GuestLinuxCap::MountParallelsSharedFolder
51
54
  end
52
55
 
53
56
  guest_capability(:linux, :prepare_psf_services) do
54
- require_relative "guest_cap/linux/mount_parallels_shared_folder"
57
+ require_relative 'guest_cap/linux/mount_parallels_shared_folder'
55
58
  GuestLinuxCap::MountParallelsSharedFolder
56
59
  end
57
60
 
58
61
  guest_capability(:linux, :install_parallels_tools) do
59
- require_relative "guest_cap/linux/install_parallels_tools"
62
+ require_relative 'guest_cap/linux/install_parallels_tools'
60
63
  GuestLinuxCap::InstallParallelsTools
61
64
  end
62
65
 
63
66
  provider_capability(:parallels, :public_address) do
64
- require_relative "cap/public_address"
67
+ require_relative 'cap/public_address'
65
68
  Cap::PublicAddress
66
69
  end
67
70
 
68
71
  provider_capability(:parallels, :host_address) do
69
- require_relative "cap/host_address"
72
+ require_relative 'cap/host_address'
70
73
  Cap::HostAddress
71
74
  end
72
75
 
73
76
  provider_capability(:parallels, :nic_mac_addresses) do
74
- require_relative "cap/nic_mac_addresses"
77
+ require_relative 'cap/nic_mac_addresses'
75
78
  Cap::NicMacAddresses
76
79
  end
77
80
 
78
81
  synced_folder(:parallels) do
79
- require File.expand_path("../synced_folder", __FILE__)
82
+ require_relative 'synced_folder'
80
83
  SyncedFolder
81
84
  end
82
85
 
83
- end
86
+ # This initializes the internationalization strings.
87
+ def self.setup_i18n
88
+ I18n.load_path << File.expand_path('locales/en.yml', Parallels.source_root)
89
+ I18n.reload!
90
+ end
84
91
 
85
- autoload :Action, File.expand_path("../action", __FILE__)
92
+ # This sets up our log level to be whatever VAGRANT_LOG is.
93
+ def self.setup_logging
94
+ require 'log4r'
95
+
96
+ level = nil
97
+ begin
98
+ level = Log4r.const_get(ENV['VAGRANT_LOG'].upcase)
99
+ rescue NameError
100
+ # This means that the logging constant wasn't found,
101
+ # which is fine. We just keep `level` as `nil`. But
102
+ # we tell the user.
103
+ level = nil
104
+ end
105
+
106
+ # Some constants, such as "true" resolve to booleans, so the
107
+ # above error checking doesn't catch it. This will check to make
108
+ # sure that the log level is an integer, as Log4r requires.
109
+ level = nil if !level.is_a?(Integer)
110
+
111
+ # Set the logging level on all "vagrant" namespaced
112
+ # logs as long as we have a valid level.
113
+ if level
114
+ logger = Log4r::Logger.new('vagrant_parallels')
115
+ logger.outputters = Log4r::Outputter.stderr
116
+ logger.level = level
117
+ logger = nil
118
+ end
119
+ end
120
+ end
86
121
 
87
122
  # Drop some autoloads in here to optimize the performance of loading
88
123
  # our drivers only when they are needed.
89
124
  module Driver
90
- autoload :Meta, File.expand_path("../driver/meta", __FILE__)
91
- autoload :PD_8, File.expand_path("../driver/pd_8", __FILE__)
92
- autoload :PD_9, File.expand_path("../driver/pd_9", __FILE__)
93
- autoload :PD_10, File.expand_path("../driver/pd_10", __FILE__)
94
- autoload :PD_11, File.expand_path("../driver/pd_11", __FILE__)
125
+ autoload :Meta, File.expand_path('../driver/meta', __FILE__)
126
+ autoload :PD_8, File.expand_path('../driver/pd_8', __FILE__)
127
+ autoload :PD_9, File.expand_path('../driver/pd_9', __FILE__)
128
+ autoload :PD_10, File.expand_path('../driver/pd_10', __FILE__)
129
+ autoload :PD_11, File.expand_path('../driver/pd_11', __FILE__)
95
130
  end
96
131
 
97
132
  module Model
98
- autoload :ForwardedPort, File.expand_path("../model/forwarded_port", __FILE__)
133
+ autoload :ForwardedPort, File.expand_path('../model/forwarded_port', __FILE__)
99
134
  end
100
135
 
101
136
  module Util
102
- autoload :CompileForwardedPorts, File.expand_path("../util/compile_forwarded_ports", __FILE__)
137
+ autoload :CompileForwardedPorts, File.expand_path('../util/compile_forwarded_ports', __FILE__)
103
138
  end
104
139
  end
105
- end
140
+ end