diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/puppet/rails/host.rb | 4 | ||||
-rw-r--r-- | lib/puppet/rails/param_value.rb | 11 | ||||
-rw-r--r-- | lib/puppet/rails/resource.rb | 12 |
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 |