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.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/puppet/rails/param_name.rb b/lib/puppet/rails/param_name.rb
new file mode 100644
index 000000000..1b708cacb
--- /dev/null
+++ b/lib/puppet/rails/param_name.rb
@@ -0,0 +1,28 @@
+require 'puppet/util/rails/collection_merger'
+require 'puppet/rails/param_value'
+
+class Puppet::Rails::ParamName < ActiveRecord::Base
+ include Puppet::Util::CollectionMerger
+ has_many :param_values, :dependent => :destroy
+# def <<(value)
+# ParamValue.with_scope(:create => {:value => value})
+# end
+## end
+ belongs_to :resource
+
+ def to_resourceparam(source)
+ hash = {}
+ hash[:name] = self.name.to_sym
+ hash[:source] = source
+ hash[:value] = self.param_values.find(:all).collect { |v| v.value }
+ if hash[:value].length == 1
+ hash[:value] = hash[:value].shift
+ end
+ if hash[:value].empty?
+ hash[:value] = nil
+ end
+ Puppet::Parser::Resource::Param.new hash
+ end
+end
+
+# $Id$