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,
lib/spoom/deadcode/plugins/base.rb,
lib/spoom/deadcode/plugins/ruby.rb
Defined Under Namespace
Modules: Plugins
Classes: Definition, ERB, Error, Index, Indexer, IndexerError, Location, ParserError, Reference, Send
Class Method Summary
collapse
Class Method Details
.index_erb(index, erb, file:, plugins: []) ⇒ Object
50
51
52
53
|
# File 'lib/spoom/deadcode.rb', line 50
def index_erb(index, erb, file:, plugins: [])
ruby = ERB.new(erb).src
index_ruby(index, ruby, file: file, plugins: plugins)
end
|
.index_ruby(index, ruby, file:, plugins: []) ⇒ Object
39
40
41
42
43
44
45
46
47
|
# File 'lib/spoom/deadcode.rb', line 39
def index_ruby(index, ruby, file:, plugins: [])
node = SyntaxTree.parse(ruby)
visitor = Spoom::Deadcode::Indexer.new(file, ruby, index, plugins: plugins)
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
|