summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails/param.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/rails/param.rb')
-rw-r--r--lib/puppet/rails/param.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/puppet/rails/param.rb b/lib/puppet/rails/param.rb
new file mode 100644
index 000000000..2e98bd258
--- /dev/null
+++ b/lib/puppet/rails/param.rb
@@ -0,0 +1,21 @@
+require 'puppet/util/rails/collection_merger'
+
+class Puppet::Rails::Param < ActiveRecord::Base
+ include Puppet::Util::CollectionMerger
+ belongs_to :resource
+
+ def to_resourceparam(source)
+ hash = {}
+ hash[:name] = self.name.to_sym
+ hash[:source] = source
+ hash[:value] = self.param.value.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
+