# File lib/puppet/indirector.rb, line 20 20: def indirects(indirection, options = {}) 21: raise(ArgumentError, "Already handling indirection for %s; cannot also handle %s" % [@indirection.name, indirection]) if defined?(@indirection) and @indirection 22: # populate this class with the various new methods 23: extend ClassMethods 24: include InstanceMethods 25: include Puppet::Indirector::Envelope 26: extend Puppet::Network::FormatHandler 27: 28: # instantiate the actual Terminus for that type and this name (:ldap, w/ args :node) 29: # & hook the instantiated Terminus into this class (Node: @indirection = terminus) 30: @indirection = Puppet::Indirector::Indirection.new(self, indirection, options) 31: @indirection 32: end