vagrant-parallels 1.4.2 → 1.4.3

Sign up to get free protection for your applications and to get access to all the features.
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