Sha256: 8fb4f7b1571d3e7deca539573c0d062ae40cbefaea3fd994cb2599c2cdb58692
Contents?: true
Size: 1.26 KB
Versions: 190
Compression:
Stored size: 1.26 KB
Contents
# frozen_string_literal: true module RuboCop module AST # A node extension for `resbody` nodes. This will be used in place of a # plain node when the builder constructs the AST, making its methods # available to all `resbody` nodes within RuboCop. class ResbodyNode < Node # Returns the body of the `rescue` clause. # # @return [Node, nil] The body of the `resbody`. def body node_parts[2] end # Returns an array of all the exceptions in the `rescue` clause. # # @return [Array<Node>] an array of exception nodes def exceptions exceptions_node = node_parts[0] if exceptions_node.nil? [] elsif exceptions_node.array_type? exceptions_node.values else [exceptions_node] end end # Returns the exception variable of the `rescue` clause. # # @return [Node, nil] The exception variable of the `resbody`. def exception_variable node_parts[1] end # Returns the index of the `resbody` branch within the exception handling statement. # # @return [Integer] the index of the `resbody` branch def branch_index parent.resbody_branches.index(self) end end end end
Version data entries
190 entries across 184 versions & 22 rubygems