From 4194da19c60956f6e59239c0145f772be257e79d Mon Sep 17 00:00:00 2001 From: John Bellone Date: Thu, 12 Dec 2013 09:38:50 -0500 Subject: [PATCH 1/2] [vagrant] Update Registry with #keys method. This helper method to return the keys for the registry will give capability to eliminate some code. Example: ```ruby keys = [] @subcommands.each { |k,v| keys << k } keys.sort.each { |k| o.seperator "#{k}" } ``` Versus: ```ruby @subcommands.keys.sort.each { |k| o.seperator "#{k}" } ``` --- lib/vagrant/registry.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/vagrant/registry.rb b/lib/vagrant/registry.rb index df8147c9e..e69574ed8 100644 --- a/lib/vagrant/registry.rb +++ b/lib/vagrant/registry.rb @@ -34,6 +34,13 @@ module Vagrant def has_key?(key) @items.has_key?(key) end + + # Returns an array populated with the keys of this object. + # + # @return [Array] + def keys + @items.keys + end # Iterate over the keyspace. def each(&block) From 8909018af6054b5f49486d93fcbab538f2ea8ae0 Mon Sep 17 00:00:00 2001 From: John Bellone Date: Mon, 16 Dec 2013 18:16:19 -0500 Subject: [PATCH 2/2] Add unit tests for Registry#keys. --- test/unit/vagrant/registry_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/unit/vagrant/registry_test.rb b/test/unit/vagrant/registry_test.rb index 2c1c00128..a4580b676 100644 --- a/test/unit/vagrant/registry_test.rb +++ b/test/unit/vagrant/registry_test.rb @@ -40,6 +40,13 @@ describe Vagrant::Registry do instance["foo"].should eql(object) end + + it "should be able to get keys with #keys" do + instance.register("foo") { "bar" } + instance.register("baz") { "qux" } + + instance.keys.sort.should == [ 'baz', 'foo' ] + end it "should cache the result of the item so they can be modified" do # Make the proc generate a NEW array each time