lib/rubocop/ast/node/until_node.rb
# frozen_string_literal: true module RuboCop module AST # A node extension for `until` nodes. This will be used in place of a plain # node when the builder constructs the AST, making its methods available # to all `until` nodes within RuboCop. class UntilNode < Node include ConditionalNode include ModifierNode # Returns the keyword of the `until` statement as a string. # # @return [String] the keyword of the `until` statement def keyword 'until' end # Returns the inverse keyword of the `until` node as a string. # Returns `while` for `until` nodes and vice versa. # # @return [String] the inverse keyword of the `until` statement def inverse_keyword 'while' end # Checks whether the `until` node has a `do` keyword. # # @return [Boolean] whether the `until` node has a `do` keyword def do? loc.begin&.is?('do') end end end end