Sha256: 400b07edd1297fccff7deca517640a8f22ea8ef462a56a448675e4f97d3b99b6

Contents?: true

Size: 555 Bytes

Versions: 6

Compression:

Stored size: 555 Bytes

Contents

require 'puppet/indirector'

class Puppet::Indirector::ActiveRecord < Puppet::Indirector::Terminus
    class << self
        attr_accessor :ar_model
    end

    def self.use_ar_model(klass)
        self.ar_model = klass
    end

    def ar_model
        self.class.ar_model
    end

    def initialize
        Puppet::Rails.init
    end

    def find(request)
        return nil unless instance = ar_model.find_by_name(request.key)
        instance.to_puppet
    end

    def save(request)
        ar_model.from_puppet(request.instance).save
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
puppet-0.25.5 lib/puppet/indirector/active_record.rb
puppet-0.25.4 lib/puppet/indirector/active_record.rb
puppet-0.25.3 lib/puppet/indirector/active_record.rb
puppet-0.25.2 lib/puppet/indirector/active_record.rb
puppet-0.25.1 lib/puppet/indirector/active_record.rb
puppet-0.25.0 lib/puppet/indirector/active_record.rb