HEX
Server: Apache
System: Linux hp3-stn-1011028.hostingp3.local 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: csh958633 (951153)
PHP: 8.3.30
Disabled: shell_exec,exec,system,popen,set_time_limit
Upload Files
File: //usr/share/ruby/vendor_ruby/puppet/indirector/active_record.rb
require 'puppet/rails'
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