Class: MetzScan::Analyzers::NamespaceLeakPressure::SharedNamespaceTriage::ExceptionDeclaration

Inherits:
Object
  • Object
show all
Defined in:
lib/metz_scan/analyzers/namespace_leak_pressure/shared_namespace_triage/exception_declaration.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(declaration) ⇒ ExceptionDeclaration

Returns a new instance of ExceptionDeclaration.



19
20
21
# File 'lib/metz_scan/analyzers/namespace_leak_pressure/shared_namespace_triage/exception_declaration.rb', line 19

def initialize(declaration)
  @declaration = declaration
end

Class Method Details

.exception?(declaration) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/metz_scan/analyzers/namespace_leak_pressure/shared_namespace_triage/exception_declaration.rb', line 15

def self.exception?(declaration)
  new(declaration).exception?
end

Instance Method Details

#exception?Boolean

Returns:

  • (Boolean)


23
24
25
26
27
28
29
# File 'lib/metz_scan/analyzers/namespace_leak_pressure/shared_namespace_triage/exception_declaration.rb', line 23

def exception?
  return false unless declaration.path && File.file?(declaration.path)

  exception_node?(processed_source.ast, declaration.name.to_s)
rescue Parser::SyntaxError, SystemCallError
  false
end