Module: Spoom::Deadcode
- Extended by:
- T::Sig
- Defined in:
- lib/spoom/deadcode.rb,
lib/spoom/deadcode/erb.rb,
lib/spoom/deadcode/send.rb,
lib/spoom/deadcode/index.rb,
lib/spoom/deadcode/indexer.rb,
lib/spoom/deadcode/location.rb,
lib/spoom/deadcode/reference.rb,
lib/spoom/deadcode/definition.rb
Defined Under Namespace
Classes: Definition, ERB, Error, Index, Indexer, IndexerError, Location, ParserError, Reference, Send
Class Method Summary
collapse
Class Method Details
.index_erb(index, erb, file:) ⇒ Object
49
50
51
52
|
# File 'lib/spoom/deadcode.rb', line 49
def index_erb(index, erb, file:)
ruby = ERB.new(erb).src
index_ruby(index, ruby, file: file)
end
|
.index_ruby(index, ruby, file:) ⇒ Object
38
39
40
41
42
43
44
45
46
|
# File 'lib/spoom/deadcode.rb', line 38
def index_ruby(index, ruby, file:)
node = SyntaxTree.parse(ruby)
visitor = Spoom::Deadcode::Indexer.new(file, ruby, index)
visitor.visit(node)
rescue SyntaxTree::Parser::ParseError => e
raise ParserError.new("Error while parsing #{file} (#{e.message} at #{e.lineno}:#{e.column})", parent: e)
rescue => e
raise IndexerError.new("Error while indexing #{file} (#{e.message})", parent: e)
end
|