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 +1 -1
- data/lib/virtual_box/{board.rb → vm/board.rb} +7 -3
- data/lib/virtual_box/{disk.rb → vm/disk.rb} +10 -6
- data/lib/virtual_box/{io_bus.rb → vm/io_bus.rb} +13 -9
- data/lib/virtual_box/{nic.rb → vm/nic.rb} +6 -2
- data/lib/virtual_box/vm.rb +11 -11
- data/lib/virtual_box.rb +8 -6
- data/test/virtual_box/integration_test.rb +1 -1
- data/test/virtual_box/{board_test.rb → vm/board_test.rb} +3 -3
- data/test/virtual_box/{disk_test.rb → vm/disk_test.rb} +8 -8
- data/test/virtual_box/{io_bus_test.rb → vm/io_bus_test.rb} +8 -8
- data/test/virtual_box/{nic_test.rb → vm/nic_test.rb} +4 -4
- data/virtual_box.gemspec +10 -10
- metadata +11 -11
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
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
|
45
|
-
#
|
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
|
-
|
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
|
data/lib/virtual_box/vm.rb
CHANGED
@@ -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 =>
|
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('
|
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('
|
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,
|
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,
|
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('
|
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('
|
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.
|
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-
|
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.
|
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-
|
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:
|
214
|
+
hash: -2226999384598290668
|
215
215
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
216
|
none: false
|
217
217
|
requirements:
|