Class: Rubyzen::Declarations::RescueDeclaration

Inherits:
Object
  • Object
show all
Includes:
Providers::ClassNameProvider, Providers::FilePathProvider, Providers::LineNumberProvider
Defined in:
lib/rubyzen/declarations/rescue_declaration.rb

Overview

Represents a rescue clause within a method or block.

Examples:

rescue_decl = method.rescues.first
rescue_decl.exception_types #=> ["ArgumentError", "TypeError"]

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Providers::ClassNameProvider

#class_name

Methods included from Providers::LineNumberProvider

#line

Methods included from Providers::FilePathProvider

#file_path

Constructor Details

#initialize(node, parent) ⇒ RescueDeclaration

Returns a new instance of RescueDeclaration.

Parameters:



22
23
24
25
# File 'lib/rubyzen/declarations/rescue_declaration.rb', line 22

def initialize(node, parent)
  @node = node
  @parent = parent
end

Instance Attribute Details

#nodeRuboCop::AST::Node (readonly)

Returns:

  • (RuboCop::AST::Node)


15
16
17
# File 'lib/rubyzen/declarations/rescue_declaration.rb', line 15

def node
  @node
end

#parentMethodDeclaration, BlockDeclaration (readonly)



18
19
20
# File 'lib/rubyzen/declarations/rescue_declaration.rb', line 18

def parent
  @parent
end

Instance Method Details

#exception_typesArray<String>

Returns the rescued exception class names. Defaults to [“StandardError”] for bare rescue.

Returns:

  • (Array<String>)


31
32
33
# File 'lib/rubyzen/declarations/rescue_declaration.rb', line 31

def exception_types
  extract_exception_types
end