Sha256: d412fbf1962fc008e35f4223d1a57c0202a07fd0638b30b84aa98f42c99b9577

Contents?: true

Size: 817 Bytes

Versions: 6

Compression:

Stored size: 817 Bytes

Contents

require 'puppet'
require 'puppet/parser/ast/branch'

class Puppet::Parser::AST
    class MatchOperator < AST::Branch

        attr_accessor :lval, :rval, :operator

        # Iterate across all of our children.
        def each
            [@lval,@rval].each { |child| yield child }
        end

        # Returns a boolean which is the result of the boolean operation
        # of lval and rval operands
        def evaluate(scope)
            lval = @lval.safeevaluate(scope)

            return @operator == "=~" if rval.evaluate_match(lval, scope)
            return @operator == "!~"
        end

        def initialize(hash)
            super

            unless %w{!~ =~}.include?(@operator)
                raise ArgumentError, "Invalid regexp operator %s" % @operator
            end
        end
    end
end

Version data entries

6 entries across 6 versions & 1 rubygems

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