Class: Rubyzen::Declarations::RaiseDeclaration
- Inherits:
-
Object
- Object
- Rubyzen::Declarations::RaiseDeclaration
- Includes:
- Providers::ClassNameProvider, Providers::FilePathProvider, Providers::LineNumberProvider, Providers::SourceCodeProvider
- Defined in:
- lib/rubyzen/declarations/raise_declaration.rb
Overview
Represents a raise statement.
Instance Attribute Summary collapse
- #node ⇒ RuboCop::AST::Node readonly
- #parent ⇒ MethodDeclaration, BlockDeclaration readonly
Instance Method Summary collapse
-
#exception_types ⇒ Array<String>
Returns the exception class names being raised.
-
#initialize(node, parent) ⇒ RaiseDeclaration
constructor
A new instance of RaiseDeclaration.
-
#message ⇒ String?
Returns the error message string, if any.
-
#with_string? ⇒ Boolean
Returns whether the raise uses a bare string (+raise “message”+).
Methods included from Providers::SourceCodeProvider
Methods included from Providers::ClassNameProvider
Methods included from Providers::LineNumberProvider
Methods included from Providers::FilePathProvider
Constructor Details
#initialize(node, parent) ⇒ RaiseDeclaration
Returns a new instance of RaiseDeclaration.
25 26 27 28 |
# File 'lib/rubyzen/declarations/raise_declaration.rb', line 25 def initialize(node, parent) @node = node @parent = parent end |
Instance Attribute Details
#node ⇒ RuboCop::AST::Node (readonly)
18 19 20 |
# File 'lib/rubyzen/declarations/raise_declaration.rb', line 18 def node @node end |
#parent ⇒ MethodDeclaration, BlockDeclaration (readonly)
21 22 23 |
# File 'lib/rubyzen/declarations/raise_declaration.rb', line 21 def parent @parent end |
Instance Method Details
#exception_types ⇒ Array<String>
Returns the exception class names being raised. Defaults to [“RuntimeError”] for bare raise or raise “message”.
34 35 36 |
# File 'lib/rubyzen/declarations/raise_declaration.rb', line 34 def exception_types extract_exception_types end |
#message ⇒ String?
Returns the error message string, if any.
49 50 51 |
# File 'lib/rubyzen/declarations/raise_declaration.rb', line 49 def end |
#with_string? ⇒ Boolean
Returns whether the raise uses a bare string (+raise “message”+).
41 42 43 44 |
# File 'lib/rubyzen/declarations/raise_declaration.rb', line 41 def with_string? first_arg = node.arguments.first first_arg&.type == :str end |