# In lib/puppet/node.rb:
class Puppet::Node
...
# Set up indirection, so that nodes can be looked for in
# the node sources.
require 'puppet/indirector'
extend Puppet::Indirector
# Use the node source as the indirection terminus.
indirects :node, :to => :node_source
...
end
# Then something else uses this indirection:
if node = Puppet::Node.get("mynode")
puts node.environment
end