Sha256: d48728af6b2780014f186ef48c0c19f1fb7b43905fe7d262b5657446cf1d9fed

Contents?: true

Size: 1009 Bytes

Versions: 6

Compression:

Stored size: 1009 Bytes

Contents

require 'puppet/parser/ast/hostclass'

# The specific code associated with a host.  Nodes are annoyingly unlike
# other objects.  That's just the way it is, at least for now.
class Puppet::Parser::AST::Node < Puppet::Parser::AST::HostClass

    associates_doc

    @name = :node

    def initialize(options)
        @parentclass = nil
        super
    end

    def namespace
        ""
    end

    # in Regex mode, our classname can't be our Regex.
    # so we use the currently connected client as our
    # classname, mimicing exactly what would have happened
    # if there was a specific node definition for this node.
    def get_classname(scope)
        return scope.host if name.regex?
        classname
    end

    # Make sure node scopes are marked as such.
    def subscope(*args)
        scope = super
        scope.nodescope = true
        scope
    end

    private

    # Search for the object matching our parent class.
    def find_parentclass
        @parser.node(parentclass)
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
puppet-0.25.5 lib/puppet/parser/ast/node.rb
puppet-0.25.4 lib/puppet/parser/ast/node.rb
puppet-0.25.3 lib/puppet/parser/ast/node.rb
puppet-0.25.2 lib/puppet/parser/ast/node.rb
puppet-0.25.1 lib/puppet/parser/ast/node.rb
puppet-0.25.0 lib/puppet/parser/ast/node.rb