summaryrefslogtreecommitdiffstats
path: root/lib/puppet/rails/rails_object.rb
blob: 8197069571d0b662cf8e33498c48559595f7ad08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
require 'puppet'
require 'puppet/rails/rails_parameter'

RailsParameter = Puppet::Rails::RailsParameter
class Puppet::Rails::RailsObject < ActiveRecord::Base
    has_many :rails_parameters, :dependent => :delete_all
    serialize :tags, Array

    belongs_to :host

    # Add a set of parameters.
    def addparams(params)
        params.each do |pname, pvalue|
            pobj = RailsParameter.new(
                :name => pname,
                :value => pvalue
            )

            self.rails_parameters << pobj
        end
    end

    # Convert our object to a trans_object
    def to_trans
        obj = Puppet::TransObject.new(name(), ptype())

        [:file, :line, :tags].each do |method|
            if val = send(method)
                obj.send(method.to_s + "=", val)
            end
        end
        params.each do |name, value|
            obj[name] = value
        end

        return obj
    end
end

# $Id$