summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails/param_name.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/rails/param_name.rb')
-rw-r--r--lib/puppet/rails/param_name.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/puppet/rails/param_name.rb b/lib/puppet/rails/param_name.rb
index 55d3727f9..818a90e35 100644
--- a/lib/puppet/rails/param_name.rb
+++ b/lib/puppet/rails/param_name.rb
@@ -5,6 +5,16 @@ class Puppet::Rails::ParamName < ActiveRecord::Base
include Puppet::Util::CollectionMerger
has_many :param_values, :dependent => :destroy
+ def self.accumulate_by_name(name)
+ @name_cache ||= {}
+ if instance = @name_cache[name]
+ return instance
+ end
+ instance = find_or_create_by_name(name)
+ @name_cache[name] = instance
+ instance
+ end
+
def to_resourceparam(resource, source)
hash = {}
hash[:name] = self.name.to_sym