vagrant-global-status 0.1.3 → 0.1.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b9b82bce8f896bb501164ce0b72d72f1b8639a1a
4
- data.tar.gz: 6f4f74901453aaf4eabdc161da4e1c1a61f932d2
3
+ metadata.gz: 0c60040af18fe6b732917ef79ea068a1dfb6ba67
4
+ data.tar.gz: 449b04beafe85d42d4cbbfaba0ac05d1ea1eca9c
5
5
  SHA512:
6
- metadata.gz: 6338106b306084a6024dd9a91d05f70a229015df55224a0e570615e2a967b302b7511cc237c8fcea3d01e6deedf23f030ad43ff656c8adc21b6be8fe7ec94c25
7
- data.tar.gz: 375195848f9a539a98a026a3e5ed8c9c55a43b270bd8d7e18643a0d2d097fd5986052a6c55fee635e8531614953e13feaffbc4a6818a66376d0b8e72415ff392
6
+ metadata.gz: d227394b75feaf8510e164b15d1127b683734b50041cfb83bfa449c1dded87ac2301cfdda2a37dbc7c3b99bef455969244ade2525c607b13ec0e67e45e1dd466
7
+ data.tar.gz: c8edcc1b07ba0636499f1c430109954146de45f2751967170046201dcb0971d7bd1bc7d8f7cce00780eff1e832c6956bbdb65db30b2678bfaac90a786141fe08
@@ -1,3 +1,8 @@
1
+ ## [0.1.4](https://github.com/fgrehm/vagrant-global-status/compare/v0.1.3...v0.1.4) (December 25, 2013)
2
+
3
+ - Display the time when the VM was created [GH-3]
4
+ - Display VM status with color [GH-12]
5
+
1
6
  ## [0.1.3](https://github.com/fgrehm/vagrant-global-status/compare/v0.1.2...v0.1.3) (December 17, 2013)
2
7
 
3
8
  - Stop displaying non-running machines without -a option [GH-1]
data/README.md CHANGED
@@ -39,7 +39,6 @@ used for development of a Vagrant plugin using Bundler.
39
39
  ## Current limitations / ideas for contributions
40
40
 
41
41
  * Keeps track of active vagrant-lxc and VirtualBox VMs only
42
- * Blows up if the `Vagrantfile` gets removed from the registered path
43
42
  * Detect orphaned machines
44
43
 
45
44
  ## Contributing
@@ -8,6 +8,14 @@ module VagrantPlugins
8
8
  def initialize(path, data)
9
9
  @path = Pathname(path)
10
10
  @machine_names = Array(data['machines']).map{|machine| machine['name']}
11
+ @created_at = {}
12
+ data['machines'].each do |machine|
13
+ ctime = machine['created_at']
14
+ if ctime =~ /[\d]+/
15
+ ctime = Time.at(ctime.to_i).to_s
16
+ end
17
+ @created_at.store(machine['name'], ctime)
18
+ end
11
19
  end
12
20
 
13
21
  # REFACTOR: Extract a machine class
@@ -17,11 +25,26 @@ module VagrantPlugins
17
25
  matches = vagrant_status.scan(/(\w[\w-]+)\s+(\w[\w\s]+)\s+\((\w+)\)/)
18
26
  matches.map do |vm, status, provider|
19
27
  if all || (@machine_names.include?(vm) and status == "running")
20
- " #{vm.ljust(15)} #{status} (#{provider})"
28
+ provider = "(#{provider})"
29
+ " #{vm.ljust(12)} #{status_line(status, 12)} #{provider.ljust(14)} #{@created_at[vm]}"
21
30
  end
22
31
  end.compact.join("\n")
23
32
  end
24
33
 
34
+ def status_line(status, length)
35
+ case status
36
+ when "running" then
37
+ color = 32 # green
38
+ when "not running", "poweroff" then
39
+ color = 33 # yellow
40
+ when "not created" then
41
+ color = 34 # blue
42
+ else
43
+ return status.ljust(length)
44
+ end
45
+ sprintf("\e[%dm%s\e[m", color, status.ljust(length))
46
+ end
47
+
25
48
  def vagrant_status
26
49
  return @vagrant_status if @vagrant_status
27
50
 
@@ -7,7 +7,8 @@ module VagrantPlugins
7
7
  statefile = params.fetch(:home_path).join('machine-environments.json')
8
8
  new(statefile).register(
9
9
  params.fetch(:machine_name).to_s,
10
- params.fetch(:root_path).to_s
10
+ params.fetch(:root_path).to_s,
11
+ Time.now.to_i.to_s
11
12
  )
12
13
  end
13
14
 
@@ -37,13 +38,13 @@ module VagrantPlugins
37
38
  @environments.values
38
39
  end
39
40
 
40
- def register(machine_name, root_path)
41
+ def register(machine_name, root_path, created_at)
41
42
  @current_state['environments'][root_path] ||= { 'machines' => [] }
42
43
 
43
44
  global_environment = @current_state['environments'][root_path]
44
45
  machine = { 'name' => machine_name }
45
46
  unless global_environment['machines'].include?(machine)
46
- global_environment['machines'] << {'name' => machine_name}
47
+ global_environment['machines'] << {'name' => machine_name, 'created_at' => created_at}
47
48
  end
48
49
 
49
50
  write_statefile
@@ -53,7 +54,7 @@ module VagrantPlugins
53
54
  @current_state['environments'][root_path] ||= { 'machines' => [] }
54
55
 
55
56
  global_environment = @current_state['environments'][root_path]
56
- global_environment['machines'].delete({'name' => machine_name})
57
+ global_environment['machines'].delete_if {|machine| machine["name"] = machine_name }
57
58
 
58
59
  write_statefile
59
60
  end
@@ -1,5 +1,5 @@
1
1
  module VagrantPlugins
2
2
  module GlobalStatus
3
- VERSION = "0.1.3"
3
+ VERSION = "0.1.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vagrant-global-status
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fabio Rehm
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-17 00:00:00.000000000 Z
11
+ date: 2013-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler