virtual_box 0.1.0 → 0.1.1

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
@@ -1,5 +1,7 @@
1
1
  module VirtualBox
2
2
 
3
+ class Vm
4
+
3
5
  # Specification for a virtual machine's motherboard.
4
6
  class Board
5
7
  # The number of CPUs (cores) on this board.
@@ -156,7 +158,7 @@ class Board
156
158
  #
157
159
  # @param [Hash<String, String>] params the "VBoxManage showvminfo" output,
158
160
  # parsed by Vm.parse_machine_readble
159
- # @return [VirtualBox::Board] self, for easy call chaining
161
+ # @return [VirtualBox::Vm::Board] self, for easy call chaining
160
162
  def from_params(params)
161
163
  self.cpus = params['cpus'].to_i
162
164
  self.ram = params['memory'].to_i
@@ -200,7 +202,7 @@ class Board
200
202
  # Resets to default settings.
201
203
  #
202
204
  # The defaults are chosen somewhat arbitrarily by the gem's author.
203
- # @return [VirtualBox::Board] self, for easy call chaining
205
+ # @return [VirtualBox::Vm::Board] self, for easy call chaining
204
206
  def reset
205
207
  self.cpus = 1
206
208
  self.ram = 512
@@ -282,6 +284,8 @@ class Board
282
284
  end
283
285
  Hash[types]
284
286
  end
285
- end # class VirtualBox::Board
287
+ end # class VirtualBox::Vm::Board
288
+
289
+ end # class VirtualBox::Vm
286
290
 
287
291
  end # namespace VirtualBox
@@ -1,5 +1,7 @@
1
1
  module VirtualBox
2
2
 
3
+ class Vm
4
+
3
5
  # Descriptor for a VirtualBox hard-disk or DVD image.
4
6
  class Disk
5
7
  # Path to the file storing this disk image.
@@ -41,11 +43,11 @@ class Disk
41
43
  # Attaches this disk to a virtual machine.
42
44
  #
43
45
  # @param [VirtualBox::Vm] vm the VM that this image will be attached to
44
- # @param [VirtualBox::IoBus] io_bus the IO controller that this disk will be
45
- # attached to
46
+ # @param [VirtualBox::Vm::IoBus] io_bus the IO controller that this disk will
47
+ # be attached to
46
48
  # @param [Integer] port the IO bus port this disk will be connected to
47
49
  # @param [Integer] device number indicating the device's ordering on its port
48
- # @return [VirtualBox::Disk] self, for easy call chaining
50
+ # @return [VirtualBox::Vm::Disk] self, for easy call chaining
49
51
  def add_to(vm, io_bus, port, device)
50
52
  media_arg = case media
51
53
  when :disk
@@ -80,7 +82,7 @@ class Disk
80
82
  # @option options [Boolean] prealloc unless explicitly set to true, the image
81
83
  # file will grow in size as the disk's blocks are used
82
84
  #
83
- # @return [VirtualBox::Disk] a Disk describing the image that was created
85
+ # @return [VirtualBox::Vm::Disk] a Disk describing the image that was created
84
86
  def self.create(options)
85
87
  path = options[:file]
86
88
  format = options[:format] || guess_image_format(path)
@@ -95,7 +97,7 @@ class Disk
95
97
  raise 'Unexpected error code returned by VirtualBox'
96
98
  end
97
99
 
98
- Disk.new :file => path, :format => format, :media => :disk
100
+ new :file => path, :format => format, :media => :disk
99
101
  end
100
102
 
101
103
  # Disk image format based on the extension in the file name.
@@ -133,6 +135,8 @@ class Disk
133
135
  :disk
134
136
  end
135
137
  end
136
- end # class VirtualBox::Disk
138
+ end # class VirtualBox::Vm::Disk
139
+
140
+ end # class VirtualBox::Vm
137
141
 
138
142
  end # namespace VirtualBox
@@ -1,5 +1,7 @@
1
1
  module VirtualBox
2
2
 
3
+ class Vm
4
+
3
5
  # Specification for a IO controller attached to a virtual machine.
4
6
  class IoBus
5
7
  # A user-friendly name for the I/O controller.
@@ -39,7 +41,7 @@ class IoBus
39
41
  attr_accessor :max_ports
40
42
 
41
43
  # The disks connected to this controller's bus.
42
- # @return [Hash<Array<Integer>, VirtualBox::Disk>]
44
+ # @return [Hash<Array<Integer>, VirtualBox::Vm::Disk>]
43
45
  attr_accessor :disks
44
46
 
45
47
  undef :name
@@ -112,13 +114,13 @@ class IoBus
112
114
  def disks=(new_disks)
113
115
  @disks = {}
114
116
  new_disks.each do |disk|
115
- if disk.kind_of? VirtualBox::Disk
117
+ if disk.kind_of? VirtualBox::Vm::Disk
116
118
  @disks[[first_free_port, 0]] = disk
117
119
  else
118
120
  options = disk.dup
119
121
  port = options.delete(:port) || first_free_port
120
122
  device = options.delete(:device) || 0
121
- @disks[[port, device]] = VirtualBox::Disk.new options
123
+ @disks[[port, device]] = VirtualBox::Vm::Disk.new options
122
124
  end
123
125
  end
124
126
  new_disks
@@ -126,7 +128,7 @@ class IoBus
126
128
 
127
129
  # Parses "VBoxManage showvminfo --machinereadable" output into this instance.
128
130
  #
129
- # @return [VirtualBox::IoBus] self, for easy call chaining
131
+ # @return [VirtualBox::Vm::IoBus] self, for easy call chaining
130
132
  def from_params(params, bus_id)
131
133
  self.name = params["storagecontrollername#{bus_id}"]
132
134
  self.bootable = params["storagecontrollerbootable#{bus_id}"] == 'on'
@@ -157,7 +159,7 @@ class IoBus
157
159
  next unless match = image_re.match(key)
158
160
  next if value == 'none'
159
161
  port, device = match[1].to_i, match[2].to_i
160
- @disks[[port, device]] = VirtualBox::Disk.new :file => value
162
+ @disks[[port, device]] = VirtualBox::Vm::Disk.new :file => value
161
163
  end
162
164
  self
163
165
  end
@@ -192,7 +194,7 @@ class IoBus
192
194
  #
193
195
  # @param [VirtualBox::Vm] vm the virtual machine that this IO controller will
194
196
  # be added to
195
- # @return [VirtualBox::IoBus] self, for easy call chaining
197
+ # @return [VirtualBox::Vm::IoBus] self, for easy call chaining
196
198
  def add_to(vm)
197
199
  add_bus_to vm
198
200
  disks.each do |port_device, disk|
@@ -205,7 +207,7 @@ class IoBus
205
207
  #
206
208
  # @param [VirtualBox::Vm] vm the virtual machine that this IO controller will
207
209
  # be removed from
208
- # @return [VirtualBox::IoBus] self, for easy call chaining
210
+ # @return [VirtualBox::Vm::IoBus] self, for easy call chaining
209
211
  def remove_from(vm)
210
212
  result = VirtualBox.run_command ['VBoxManage', '--nologo', 'storagectl',
211
213
  vm.uuid, '--name', name, '--remove']
@@ -219,7 +221,7 @@ class IoBus
219
221
  #
220
222
  # @param [VirtualBox::Vm] vm the virtual machine that this IO bus will be
221
223
  # added to
222
- # @return [VirtualBox::IoBus] self, for easy call chaining
224
+ # @return [VirtualBox::Vm::IoBus] self, for easy call chaining
223
225
  def add_bus_to(vm)
224
226
  command = ['VBoxManage', '--nologo', 'storagectl', vm.uid].concat to_params
225
227
  result = VirtualBox.run_command command
@@ -256,6 +258,8 @@ class IoBus
256
258
  def first_free_port
257
259
  disks.empty? ? 0 : disks.keys.min.first + 1
258
260
  end
259
- end # class VirtualBox::IoBus
261
+ end # class VirtualBox::Vm::IoBus
262
+
263
+ end # class VirtualBox::Vm
260
264
 
261
265
  end # namespace VirtualBox
@@ -2,6 +2,8 @@ require 'securerandom'
2
2
 
3
3
  module VirtualBox
4
4
 
5
+ class Vm
6
+
5
7
  # Configuration for a network card.
6
8
  class Nic
7
9
  # The kind of network emulation implemented on this card.
@@ -128,7 +130,7 @@ class Nic
128
130
  # @param [Hash<String, String>] params the "VBoxManage showvminfo" output,
129
131
  # parsed by Vm.parse_machine_readble
130
132
  # @param [Integer] nic_id the NIC's number in the VM
131
- # @return [VirtualBox::Nic] self, for easy call chaining
133
+ # @return [VirtualBox::Vm::Nic] self, for easy call chaining
132
134
  def from_params(params, nic_id)
133
135
  case params["nic#{nic_id}"]
134
136
  when 'nat'
@@ -208,6 +210,8 @@ class Nic
208
210
  }
209
211
  end
210
212
  end
211
- end # class VirtualBox::Nic
213
+ end # class VirtualBox::Vm::Nic
214
+
215
+ end # class VirtualBox::Vm
212
216
 
213
217
  end # namespace VirtualBox
@@ -18,15 +18,15 @@ class Vm
18
18
  attr_accessor :name
19
19
 
20
20
  # The general VM configuration.
21
- # @return [VirtualBox::Board]
21
+ # @return [VirtualBox::Vm::Board]
22
22
  attr_accessor :board
23
23
 
24
24
  # The IO controllers (and disks) connected to the VM.
25
- # @return [Array<VirtualBox::IoBus>]
25
+ # @return [Array<VirtualBox::Vm::IoBus>]
26
26
  attr_accessor :io_buses
27
27
 
28
28
  # The network cards connected to this virtual machine.
29
- # @return [Array<VirtualBox::Nic>]
29
+ # @return [Array<VirtualBox::Vm::Nic>]
30
30
  attr_accessor :nics
31
31
 
32
32
  # If true, the VM's screen will be displayed in a GUI.
@@ -49,20 +49,20 @@ class Vm
49
49
 
50
50
  undef :board=
51
51
  def board=(new_board)
52
- @board = if new_board.kind_of?(VirtualBox::Board)
52
+ @board = if new_board.kind_of?(VirtualBox::Vm::Board)
53
53
  new_board
54
54
  else
55
- VirtualBox::Board.new new_board
55
+ VirtualBox::Vm::Board.new new_board
56
56
  end
57
57
  end
58
58
 
59
59
  undef :io_buses=
60
60
  def io_buses=(new_io_buses)
61
61
  @io_buses = new_io_buses.map do |io_bus|
62
- if io_bus.kind_of?(VirtualBox::IoBus)
62
+ if io_bus.kind_of?(VirtualBox::Vm::IoBus)
63
63
  io_bus
64
64
  else
65
- VirtualBox::IoBus.new io_bus
65
+ VirtualBox::Vm::IoBus.new io_bus
66
66
  end
67
67
  end
68
68
  end
@@ -71,12 +71,12 @@ class Vm
71
71
  def nics=(new_nics)
72
72
  @nics = []
73
73
  new_nics.each do |nic|
74
- if nic.kind_of?(VirtualBox::Nic) || nic.nil?
74
+ if nic.kind_of?(VirtualBox::Vm::Nic) || nic.nil?
75
75
  @nics << nic
76
76
  else
77
77
  options = nic.dup
78
78
  port = options.delete(:port) || @nics.length
79
- @nics[port] = VirtualBox::Nic.new options
79
+ @nics[port] = VirtualBox::Vm::Nic.new options
80
80
  end
81
81
  end
82
82
  new_nics
@@ -265,7 +265,7 @@ class Vm
265
265
  if config["nic#{index}"] == 'none'
266
266
  nics[index - 1] = nil
267
267
  else
268
- nics[index - 1] ||= VirtualBox::Nic.new
268
+ nics[index - 1] ||= VirtualBox::Vm::Nic.new
269
269
  nics[index - 1].from_params config, index
270
270
  end
271
271
  end
@@ -274,7 +274,7 @@ class Vm
274
274
  /^storagecontrollername\d+$/ =~ key
275
275
  }.max || "storagecontrollername-1")[21..-1].to_i
276
276
  0.upto bus_count - 1 do |index|
277
- io_buses[index] ||= VirtualBox::IoBus.new
277
+ io_buses[index] ||= VirtualBox::Vm::IoBus.new
278
278
  io_buses[index].from_params config, index
279
279
  end
280
280
 
data/lib/virtual_box.rb CHANGED
@@ -6,12 +6,14 @@ end
6
6
  require 'hashie/mash'
7
7
  require 'uuid'
8
8
 
9
- require 'virtual_box/board.rb'
10
9
  require 'virtual_box/cli.rb'
11
- require 'virtual_box/dhcp.rb'
12
- require 'virtual_box/disk.rb'
13
- require 'virtual_box/io_bus.rb'
14
- require 'virtual_box/net.rb'
15
- require 'virtual_box/nic.rb'
16
10
  require 'virtual_box/version.rb'
11
+
17
12
  require 'virtual_box/vm.rb'
13
+ require 'virtual_box/vm/board.rb'
14
+ require 'virtual_box/vm/disk.rb'
15
+ require 'virtual_box/vm/io_bus.rb'
16
+ require 'virtual_box/vm/nic.rb'
17
+
18
+ require 'virtual_box/dhcp.rb'
19
+ require 'virtual_box/net.rb'
@@ -41,7 +41,7 @@ describe 'VirtualBox' do
41
41
 
42
42
  it 'should respond to a SSH connection' do
43
43
  output = nil
44
- Net::SSH.start '192.168.66.66', 'tc', :timeout => 10,
44
+ Net::SSH.start '192.168.66.66', 'tc', :timeout => 15,
45
45
  :global_known_hosts_file => [], :user_known_hosts_file => [],
46
46
  :paranoid => false, :password => '' do |ssh|
47
47
  output = ssh.exec!('ifconfig')
@@ -1,9 +1,9 @@
1
- require File.expand_path('../helper.rb', File.dirname(__FILE__))
1
+ require File.expand_path('../../helper.rb', File.dirname(__FILE__))
2
2
 
3
- describe VirtualBox::Board do
3
+ describe VirtualBox::Vm::Board do
4
4
  describe 'os_types' do
5
5
  before do
6
- @types = VirtualBox::Board.os_types
6
+ @types = VirtualBox::Vm::Board.os_types
7
7
  end
8
8
  it 'should map linux 2.6' do
9
9
  @types.must_include :linux26
@@ -1,9 +1,9 @@
1
- require File.expand_path('../helper.rb', File.dirname(__FILE__))
1
+ require File.expand_path('../../helper.rb', File.dirname(__FILE__))
2
2
 
3
- describe VirtualBox::Disk do
3
+ describe VirtualBox::Vm::Disk do
4
4
  describe 'new with ISO' do
5
5
  before do
6
- @disk = VirtualBox::Disk.new :file => 'disk.iso'
6
+ @disk = VirtualBox::Vm::Disk.new :file => 'disk.iso'
7
7
  end
8
8
 
9
9
  it 'should guess media type' do
@@ -21,8 +21,8 @@ describe VirtualBox::Disk do
21
21
 
22
22
  before do
23
23
  File.unlink vmdk_path if File.exist?(vmdk_path)
24
- @disk = VirtualBox::Disk.create :file => vmdk_path, :prealloc => false,
25
- :size => 16 * 1024 * 1024
24
+ @disk = VirtualBox::Vm::Disk.create :file => vmdk_path,
25
+ :prealloc => false, :size => 16 * 1024 * 1024
26
26
  end
27
27
 
28
28
  after do
@@ -51,8 +51,8 @@ describe VirtualBox::Disk do
51
51
 
52
52
  before do
53
53
  File.unlink vdi_path if File.exist?(vdi_path)
54
- @disk = VirtualBox::Disk.create :file => vdi_path, :prealloc => true,
55
- :size => 16 * 1024 * 1024
54
+ @disk = VirtualBox::Vm::Disk.create :file => vdi_path,
55
+ :prealloc => true, :size => 16 * 1024 * 1024
56
56
  end
57
57
 
58
58
  after do
@@ -85,7 +85,7 @@ describe VirtualBox::Disk do
85
85
  before do
86
86
  [disk1_file, disk2_file, disk3_file].each do |file|
87
87
  File.unlink file if File.exist?(file)
88
- VirtualBox::Disk.create :file => file, :size => 16 * 1024 * 1024
88
+ VirtualBox::Vm::Disk.create :file => file, :size => 16 * 1024 * 1024
89
89
  end
90
90
 
91
91
  @vm = VirtualBox::Vm.new :io_buses => [
@@ -1,31 +1,31 @@
1
- require File.expand_path('../helper.rb', File.dirname(__FILE__))
1
+ require File.expand_path('../../helper.rb', File.dirname(__FILE__))
2
2
 
3
- describe VirtualBox::IoBus do
3
+ describe VirtualBox::Vm::IoBus do
4
4
  describe 'IDE' do
5
5
  it 'should default to the PIIX4 chipset' do
6
- VirtualBox::IoBus.new(:bus => :ide).chip.must_equal :piix4
6
+ VirtualBox::Vm::IoBus.new(:bus => :ide).chip.must_equal :piix4
7
7
  end
8
8
 
9
9
  it 'should recognize the PIIX4 chipset' do
10
- VirtualBox::IoBus.new(:chip => :piix4).bus.must_equal :ide
10
+ VirtualBox::Vm::IoBus.new(:chip => :piix4).bus.must_equal :ide
11
11
  end
12
12
 
13
13
  it 'should be named IDE Controller by default' do
14
- VirtualBox::IoBus.new(:bus => :ide).name.must_equal 'IDE Controller'
14
+ VirtualBox::Vm::IoBus.new(:bus => :ide).name.must_equal 'IDE Controller'
15
15
  end
16
16
  end
17
17
 
18
18
  describe 'SATA' do
19
19
  it 'should default to the AHCI chipset' do
20
- VirtualBox::IoBus.new(:bus => :sata).chip.must_equal :ahci
20
+ VirtualBox::Vm::IoBus.new(:bus => :sata).chip.must_equal :ahci
21
21
  end
22
22
 
23
23
  it 'should recognize the PIIX4 chipset' do
24
- VirtualBox::IoBus.new(:chip => :ahci).bus.must_equal :sata
24
+ VirtualBox::Vm::IoBus.new(:chip => :ahci).bus.must_equal :sata
25
25
  end
26
26
 
27
27
  it 'should be named SATA Controller by default' do
28
- VirtualBox::IoBus.new(:bus => :sata).name.must_equal 'SATA Controller'
28
+ VirtualBox::Vm::IoBus.new(:bus => :sata).name.must_equal 'SATA Controller'
29
29
  end
30
30
  end
31
31
 
@@ -1,8 +1,8 @@
1
- require File.expand_path('../helper.rb', File.dirname(__FILE__))
1
+ require File.expand_path('../../helper.rb', File.dirname(__FILE__))
2
2
 
3
- describe VirtualBox::Nic do
3
+ describe VirtualBox::Vm::Nic do
4
4
  describe 'host_nics' do
5
- let(:nics) { VirtualBox::Nic.host_nics }
5
+ let(:nics) { VirtualBox::Vm::Nic.host_nics }
6
6
 
7
7
  it 'should have at least 1 card' do
8
8
  nics.length.must_be :>=, 1
@@ -25,7 +25,7 @@ describe VirtualBox::Nic do
25
25
  before do
26
26
  @vm = VirtualBox::Vm.new :nics => [
27
27
  { :mode => :bridged, :chip => :amd,
28
- :net_name => VirtualBox::Nic.host_nics.first[:id],
28
+ :net_name => VirtualBox::Vm::Nic.host_nics.first[:id],
29
29
  :mac => 'aabbccddeeff' },
30
30
  { :port => 2, :mode => :virtual, :chip => :virtual,
31
31
  :net_name => 'rbx00' }
data/virtual_box.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "virtual_box"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Victor Costan"]
12
- s.date = "2012-05-01"
12
+ s.date = "2012-05-04"
13
13
  s.description = "Drives the VirtualBox command-line to manage VMs"
14
14
  s.email = "victor@costan.us"
15
15
  s.extra_rdoc_files = [
@@ -28,26 +28,26 @@ Gem::Specification.new do |s|
28
28
  "Rakefile",
29
29
  "VERSION",
30
30
  "lib/virtual_box.rb",
31
- "lib/virtual_box/board.rb",
32
31
  "lib/virtual_box/cli.rb",
33
32
  "lib/virtual_box/dhcp.rb",
34
- "lib/virtual_box/disk.rb",
35
- "lib/virtual_box/io_bus.rb",
36
33
  "lib/virtual_box/net.rb",
37
- "lib/virtual_box/nic.rb",
38
34
  "lib/virtual_box/version.rb",
39
35
  "lib/virtual_box/vm.rb",
36
+ "lib/virtual_box/vm/board.rb",
37
+ "lib/virtual_box/vm/disk.rb",
38
+ "lib/virtual_box/vm/io_bus.rb",
39
+ "lib/virtual_box/vm/nic.rb",
40
40
  "test/helper.rb",
41
41
  "test/tasks/tinycore.rake",
42
- "test/virtual_box/board_test.rb",
43
42
  "test/virtual_box/cli_test.rb",
44
43
  "test/virtual_box/dhcp_test.rb",
45
- "test/virtual_box/disk_test.rb",
46
44
  "test/virtual_box/integration_test.rb",
47
- "test/virtual_box/io_bus_test.rb",
48
45
  "test/virtual_box/net_test.rb",
49
- "test/virtual_box/nic_test.rb",
50
46
  "test/virtual_box/version_test.rb",
47
+ "test/virtual_box/vm/board_test.rb",
48
+ "test/virtual_box/vm/disk_test.rb",
49
+ "test/virtual_box/vm/io_bus_test.rb",
50
+ "test/virtual_box/vm/nic_test.rb",
51
51
  "test/virtual_box/vm_test.rb",
52
52
  "virtual_box.gemspec"
53
53
  ]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: virtual_box
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-01 00:00:00.000000000 Z
12
+ date: 2012-05-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: hashie
@@ -174,26 +174,26 @@ files:
174
174
  - Rakefile
175
175
  - VERSION
176
176
  - lib/virtual_box.rb
177
- - lib/virtual_box/board.rb
178
177
  - lib/virtual_box/cli.rb
179
178
  - lib/virtual_box/dhcp.rb
180
- - lib/virtual_box/disk.rb
181
- - lib/virtual_box/io_bus.rb
182
179
  - lib/virtual_box/net.rb
183
- - lib/virtual_box/nic.rb
184
180
  - lib/virtual_box/version.rb
185
181
  - lib/virtual_box/vm.rb
182
+ - lib/virtual_box/vm/board.rb
183
+ - lib/virtual_box/vm/disk.rb
184
+ - lib/virtual_box/vm/io_bus.rb
185
+ - lib/virtual_box/vm/nic.rb
186
186
  - test/helper.rb
187
187
  - test/tasks/tinycore.rake
188
- - test/virtual_box/board_test.rb
189
188
  - test/virtual_box/cli_test.rb
190
189
  - test/virtual_box/dhcp_test.rb
191
- - test/virtual_box/disk_test.rb
192
190
  - test/virtual_box/integration_test.rb
193
- - test/virtual_box/io_bus_test.rb
194
191
  - test/virtual_box/net_test.rb
195
- - test/virtual_box/nic_test.rb
196
192
  - test/virtual_box/version_test.rb
193
+ - test/virtual_box/vm/board_test.rb
194
+ - test/virtual_box/vm/disk_test.rb
195
+ - test/virtual_box/vm/io_bus_test.rb
196
+ - test/virtual_box/vm/nic_test.rb
197
197
  - test/virtual_box/vm_test.rb
198
198
  - virtual_box.gemspec
199
199
  homepage: http://github.com/csail/police
@@ -211,7 +211,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
211
  version: '0'
212
212
  segments:
213
213
  - 0
214
- hash: 3916852811291954048
214
+ hash: -2226999384598290668
215
215
  required_rubygems_version: !ruby/object:Gem::Requirement
216
216
  none: false
217
217
  requirements: