summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/rails/host.rb4
-rw-r--r--lib/puppet/rails/param_value.rb11
-rw-r--r--lib/puppet/rails/resource.rb12
3 files changed, 13 insertions, 14 deletions
diff --git a/lib/puppet/rails/host.rb b/lib/puppet/rails/host.rb
index 2d00fa72b..1ddc01244 100644
--- a/lib/puppet/rails/host.rb
+++ b/lib/puppet/rails/host.rb
@@ -222,8 +222,8 @@ class Puppet::Rails::Host < ActiveRecord::Base
accumulate_benchmark("Added resources", :parameters) {
- resource.eachparam do |param|
- Puppet::Rails::ParamValue.from_parser_param(param).each do |value_hash|
+ resource.each do |param, value|
+ Puppet::Rails::ParamValue.from_parser_param(param, value).each do |value_hash|
db_resource.param_values.build(value_hash)
end
end
diff --git a/lib/puppet/rails/param_value.rb b/lib/puppet/rails/param_value.rb
index a5dbbaed4..46d7fc1fb 100644
--- a/lib/puppet/rails/param_value.rb
+++ b/lib/puppet/rails/param_value.rb
@@ -8,13 +8,12 @@ class Puppet::Rails::ParamValue < ActiveRecord::Base
belongs_to :resource
# Store a new parameter in a Rails db.
- def self.from_parser_param(param)
- values = munge_parser_values(param.value)
+ def self.from_parser_param(param, values)
+ values = munge_parser_values(values)
- param_name = Puppet::Rails::ParamName.find_or_create_by_name(param.name.to_s)
- line_number = param.line_to_i()
+ param_name = Puppet::Rails::ParamName.find_or_create_by_name(param.to_s)
return values.collect do |v|
- {:value => v, :line => line_number, :param_name => param_name}
+ {:value => v, :param_name => param_name}
end
end
@@ -24,7 +23,7 @@ class Puppet::Rails::ParamValue < ActiveRecord::Base
def self.munge_parser_values(value)
values = value.is_a?(Array) ? value : [value]
values.map do |v|
- if v.is_a?(Puppet::Parser::Resource::Reference)
+ if v.is_a?(Puppet::Resource::Reference)
v
else
v.to_s
diff --git a/lib/puppet/rails/resource.rb b/lib/puppet/rails/resource.rb
index 81505cbd4..86a26ee39 100644
--- a/lib/puppet/rails/resource.rb
+++ b/lib/puppet/rails/resource.rb
@@ -100,8 +100,8 @@ class Puppet::Rails::Resource < ActiveRecord::Base
def merge_parameters(resource)
catalog_params = {}
- resource.eachparam do |param|
- catalog_params[param.name.to_s] = param
+ resource.each do |param, value|
+ catalog_params[param.to_s] = value
end
db_params = {}
@@ -123,7 +123,7 @@ class Puppet::Rails::Resource < ActiveRecord::Base
db_params.each do |name, value_hashes|
values = value_hashes.collect { |v| v['value'] }
- unless value_compare(catalog_params[name].value, values)
+ unless value_compare(catalog_params[name], values)
value_hashes.each { |v| deletions << v['id'] }
end
end
@@ -132,12 +132,12 @@ class Puppet::Rails::Resource < ActiveRecord::Base
Puppet::Rails::ParamValue.delete(deletions) unless deletions.empty?
# Lastly, add any new parameters.
- catalog_params.each do |name, param|
+ catalog_params.each do |name, value|
next if db_params.include?(name)
- values = param.value.is_a?(Array) ? param.value : [param.value]
+ values = value.is_a?(Array) ? value : [value]
values.each do |v|
- param_values.build(:value => serialize_value(v), :line => param.line, :param_name => Puppet::Rails::ParamName.accumulate_by_name(name))
+ param_values.build(:value => serialize_value(v), :line => resource.line, :param_name => Puppet::Rails::ParamName.accumulate_by_name(name))
end
end
end