summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaire McQuin <clairemcquin@d-69-91-153-195.dhcp4.washington.edu>2014-01-15 14:11:07 -0800
committerClaire McQuin <clairemcquin@d-69-91-153-195.dhcp4.washington.edu>2014-01-15 14:11:07 -0800
commit3e7b1381479476cfa4884e72298ab602d430f34f (patch)
tree4058ce6ff72af54419f44b8f9cbe1cef905ce954
parentd1041a994b402f828ae1a3ce6633cc0540e25a75 (diff)
downloadohai-3e7b1381479476cfa4884e72298ab602d430f34f.tar.gz
revert provides_map changes, ensure provides and depends only collect unique attributes
-rw-r--r--lib/ohai/dsl/plugin/versionvii.rb4
-rw-r--r--lib/ohai/provides_map.rb1
-rw-r--r--spec/unit/dsl/plugin_spec.rb12
3 files changed, 14 insertions, 3 deletions
diff --git a/lib/ohai/dsl/plugin/versionvii.rb b/lib/ohai/dsl/plugin/versionvii.rb
index cf2ecbdb..ee2a6863 100644
--- a/lib/ohai/dsl/plugin/versionvii.rb
+++ b/lib/ohai/dsl/plugin/versionvii.rb
@@ -56,13 +56,13 @@ module Ohai
def self.provides(*attrs)
attrs.each do |attr|
- provides_attrs << attr
+ provides_attrs << attr unless provides_attrs.include?(attr)
end
end
def self.depends(*attrs)
attrs.each do |attr|
- depends_attrs << attr
+ depends_attrs << attr unless depends_attrs.include?(attr)
end
end
diff --git a/lib/ohai/provides_map.rb b/lib/ohai/provides_map.rb
index 804cee6d..c2da2124 100644
--- a/lib/ohai/provides_map.rb
+++ b/lib/ohai/provides_map.rb
@@ -45,7 +45,6 @@ module Ohai
end
attrs[:_plugins] ||= []
attrs[:_plugins] << plugin
- attrs[:_plugins].uniq!
end
end
diff --git a/spec/unit/dsl/plugin_spec.rb b/spec/unit/dsl/plugin_spec.rb
index e0a2f233..61283ac0 100644
--- a/spec/unit/dsl/plugin_spec.rb
+++ b/spec/unit/dsl/plugin_spec.rb
@@ -143,6 +143,12 @@ describe Ohai::DSL::Plugin::VersionVII do
plugin = Ohai.plugin(@name) { provides("two", "three") }
plugin.provides_attrs.should eql(["one", "two", "three"])
end
+
+ it "should collect unique attributes" do
+ plugin = Ohai.plugin(@name) { provides("one") }
+ plugin = Ohai.plugin(@name) { provides("one", "two") }
+ plugin.provides_attrs.should eql(["one", "two"])
+ end
end
describe "#depends" do
@@ -170,6 +176,12 @@ describe Ohai::DSL::Plugin::VersionVII do
plugin = Ohai.plugin(@name) { depends("two", "three") }
plugin.depends_attrs.should eql(["one", "two", "three"])
end
+
+ it "should collect unique attributes" do
+ plugin = Ohai.plugin(@name) { depends("one") }
+ plugin = Ohai.plugin(@name) { depends("one", "two") }
+ plugin.depends_attrs.should eql(["one", "two"])
+ end
end
describe "#collect_data" do