class LetItCrash::Sanitizer

Public Class Methods

from_path(path:) click to toggle source
# File lib/letitcrash/sanitizer.rb, line 14
def self.from_path(path:)
  from_source(source: File.read(path))
end
from_source(source:) click to toggle source
# File lib/letitcrash/sanitizer.rb, line 18
def self.from_source(source:)
  new(root: Parser::CurrentRuby.parse(source))
end
new(root:) click to toggle source
# File lib/letitcrash/sanitizer.rb, line 22
def initialize(root:)
  @relevant = Set.new
  visit(root)
end

Private Instance Methods

visit(node) click to toggle source

This method reeks of :reek:FeatureEnvy.

# File lib/letitcrash/sanitizer.rb, line 30
def visit(node)
  return unless node.is_a?(Parser::AST::Node)
  loc = node.loc
  @relevant.add(loc.first_line) if loc.expression
  node.children.each(&method(:visit))
end