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) 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