diff options
author | James Turnbull <james@lovedthanlost.net> | 2010-01-13 08:07:30 +1100 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2010-01-13 08:07:30 +1100 |
commit | b6f90dfcd96123c245b6f5fd93753790006387c0 (patch) | |
tree | 1668fd8ed480dc0d0cb49c4a3d7f8a13c77dbeb9 /lib/puppet/rails/resource.rb | |
parent | e26e8319186c57a41ea7ca58b0e8e853e9b452e3 (diff) | |
parent | f7e14356ad7781fafa52a459d3c24372fa6c0900 (diff) | |
download | puppet-b6f90dfcd96123c245b6f5fd93753790006387c0.tar.gz puppet-b6f90dfcd96123c245b6f5fd93753790006387c0.tar.xz puppet-b6f90dfcd96123c245b6f5fd93753790006387c0.zip |
Merge branch '0.25.x'
Conflicts:
lib/puppet/ssl/host.rb
spec/spec_helper.rb
Diffstat (limited to 'lib/puppet/rails/resource.rb')
-rw-r--r-- | lib/puppet/rails/resource.rb | 44 |
1 files changed, 19 insertions, 25 deletions
diff --git a/lib/puppet/rails/resource.rb b/lib/puppet/rails/resource.rb index 984bdc05a..7b37a52bf 100644 --- a/lib/puppet/rails/resource.rb +++ b/lib/puppet/rails/resource.rb @@ -63,22 +63,28 @@ class Puppet::Rails::Resource < ActiveRecord::Base unserialize_value(self[:title]) end - def add_param_to_hash(param) - @params_hash ||= [] - @params_hash << param + def params_list + @params_list ||= [] end - def add_tag_to_hash(tag) - @tags_hash ||= [] - @tags_hash << tag + def params_list=(params) + @params_list = params end - def params_hash=(hash) - @params_hash = hash + def add_param_to_list(param) + params_list << param end - def tags_hash=(hash) - @tags_hash = hash + def tags_list + @tags_list ||= [] + end + + def tags_list=(tags) + @tags_list = tags + end + + def add_tag_to_list(tag) + tags_list << tag end def [](param) @@ -116,7 +122,7 @@ class Puppet::Rails::Resource < ActiveRecord::Base db_params = {} deletions = [] - @params_hash.each do |value| + params_list.each do |value| # First remove any parameters our catalog resource doesn't have at all. deletions << value['id'] and next unless catalog_params.include?(value['name']) @@ -142,7 +148,7 @@ class Puppet::Rails::Resource < ActiveRecord::Base # Lastly, add any new parameters. catalog_params.each do |name, value| - next if db_params.include?(name) + next if db_params.include?(name) && ! db_params[name].find{ |val| deletions.include?( val["id"] ) } values = value.is_a?(Array) ? value : [value] values.each do |v| @@ -156,7 +162,7 @@ class Puppet::Rails::Resource < ActiveRecord::Base in_db = [] deletions = [] resource_tags = resource.tags - @tags_hash.each do |tag| + tags_list.each do |tag| deletions << tag['id'] and next unless resource_tags.include?(tag['name']) in_db << tag['name'] end @@ -187,18 +193,6 @@ class Puppet::Rails::Resource < ActiveRecord::Base end end - def parameters - result = get_params_hash - result.each do |param, value| - if value.is_a?(Array) - result[param] = value.collect { |v| v['value'] } - else - result[param] = value.value - end - end - result - end - def ref(dummy_argument=:work_arround_for_ruby_GC_bug) "%s[%s]" % [self[:restype].split("::").collect { |s| s.capitalize }.join("::"), self.title.to_s] end |