class ClosingComments::Source::Visitor

Attributes

entities[R]

Public Class Methods

new(content) click to toggle source
# File lib/closing_comments/source.rb, line 100
def initialize(content)
  @entities = []
  recursively_visit(Parser::Ruby24.parse(content))
  entities.freeze
end

Private Instance Methods

recursively_visit(node) click to toggle source
# File lib/closing_comments/source.rb, line 108
def recursively_visit(node)
  return unless node.is_a?(Parser::AST::Node)
  visit_current(node)
  node.children.each(&method(:recursively_visit))
end
visit_current(node) click to toggle source
# File lib/closing_comments/source.rb, line 114
def visit_current(node)
  case node.type
  when :class then entities << Commentable::Class.new(node)
  when :module then entities << Commentable::Module.new(node)
  end
end