summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/resource/param.rb
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-08-18 11:47:40 -0500
committerLuke Kanies <luke@madstop.com>2008-08-18 11:47:40 -0500
commite3971b9751141cd448a8197da024be43581f6dcd (patch)
tree3ae780db3d9dae0a4df10ec24f928bf3a844e749 /lib/puppet/parser/resource/param.rb
parent025edc5c3737f476119df4bab73ebdc68be19430 (diff)
parent2ec4e298c3274abc8eaad4230bca8d39a48d2e35 (diff)
downloadpuppet-e3971b9751141cd448a8197da024be43581f6dcd.tar.gz
puppet-e3971b9751141cd448a8197da024be43581f6dcd.tar.xz
puppet-e3971b9751141cd448a8197da024be43581f6dcd.zip
Merge branch '0.24.x'
Conflicts: CHANGELOG test/util/posixtest.rb
Diffstat (limited to 'lib/puppet/parser/resource/param.rb')
-rw-r--r--lib/puppet/parser/resource/param.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/puppet/parser/resource/param.rb b/lib/puppet/parser/resource/param.rb
index 9dd3f26d2..c8dd78a26 100644
--- a/lib/puppet/parser/resource/param.rb
+++ b/lib/puppet/parser/resource/param.rb
@@ -66,6 +66,14 @@ class Puppet::Parser::Resource::Param
def to_s
"%s => %s" % [self.name, self.value]
end
+
+ def compare(v,db_value)
+ if (v.is_a?(Puppet::Parser::Resource::Reference))
+ return v.to_s == db_value.to_s
+ else
+ return v == db_value
+ end
+ end
def values_to_remove(db_values)
values = munge_for_rails(value)
@@ -73,7 +81,7 @@ class Puppet::Parser::Resource::Param
db_values.collect do |db|
db unless (db.line == line_number &&
values.find { |v|
- v == db.value
+ compare(v,db.value)
} )
end.compact
end
@@ -82,7 +90,7 @@ class Puppet::Parser::Resource::Param
values = munge_for_rails(value)
line_number = line_to_i()
values.collect do |v|
- v unless db_values.find { |db| (v == db.value &&
+ v unless db_values.find { |db| (compare(v,db.value) &&
line_number == db.line) }
end.compact
end