virtualman 1.1.5 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  ####Required
4
4
  require 'virtualman'
5
5
 
6
- menu = ["clone","cook","ssh_cloned","exit"]
6
+ menu = ["clone","cook","ssh_cloned","delete_clone","exit"]
7
7
 
8
8
  puts "----VirtualMan----"
9
9
  puts "Please select an action to do with your VM."
@@ -24,14 +24,30 @@ def load_conf
24
24
  return config_options
25
25
  end
26
26
 
27
- def record_conf(vm_cloned)
27
+ def record_conf(vm_cloned, *param)
28
28
  conf = load_conf()
29
- if conf["cloned_vms"]
30
- conf["cloned_vms"] << {"name" => vm_cloned.name}
29
+
30
+ if param[0] == "delete"
31
+ verb = "deleted"
32
+ p conf["cloned_vms"]
33
+ p conf["cloned_vms"].class
34
+ p conf["cloned_vms"].reject{|vm| vm == {"name" => vm_cloned.name} }
35
+
36
+ conf["cloned_vms"].reject!{|vm| vm == {"name" => vm_cloned.name} }
37
+
38
+ p conf["cloned_vms"]
39
+
31
40
  else
32
- conf.merge!({"cloned_vms" => {"name" => vm_cloned.name}})
41
+ verb = "saved"
42
+
43
+ if conf["cloned_vms"]
44
+ conf["cloned_vms"] << {"name" => vm_cloned.name}
45
+ else
46
+ conf.merge!({"cloned_vms" => {"name" => vm_cloned.name}})
47
+ end
33
48
  end
34
49
 
35
50
  File.open(CONFIG_FILE, "w") {|f| f.write(conf.to_yaml) }
36
- puts "VM #{vm_cloned.name} saved in your configuration file"
51
+ puts "VM #{vm_cloned.name} #{verb} in your configuration file"
52
+
37
53
  end
@@ -121,4 +121,26 @@ def ssh_cloned
121
121
  cmd = "ssh #{user}@#{selected_vm.ip}"
122
122
  exec (cmd)
123
123
  end
124
- end
124
+ end
125
+
126
+ def delete_clone
127
+ puts "----Delete a cloned VM----"
128
+ puts "Which VM delete?"
129
+
130
+ vm_choice = choose "cloned_vms", "name"
131
+
132
+ selected_vm = Vm.new(vm_choice["name"])
133
+
134
+ puts "!!YOU ARE ABOUT TO DELETE PEMANENTLY DELETE #{vm_choice["name"]}!!"
135
+ puts "Are you sure? (yes/[no])"
136
+
137
+ choice = Menu.ask
138
+
139
+ if choice == "yes"
140
+ selected_vm.stop!
141
+
142
+ selected_vm.manage("unregistervm","--delete")
143
+
144
+ record_conf(selected_vm, "delete")
145
+ end
146
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: virtualman
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
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-09-14 00:00:00.000000000 Z
12
+ date: 2012-10-01 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: It is for writing scripts for UNIX-like systems to handle your VirtualBox
15
15
  appliance.