class SmartTodo::Parser::Visitor

Attributes

assignee[R]
events[R]

Public Class Methods

new() click to toggle source
# File lib/smart_todo/parser/metadata_parser.rb, line 83
def initialize
  @events = []
end

Public Instance Methods

on_todo_assignee(assignee) click to toggle source

@param assignee [String] @return [void]

# File lib/smart_todo/parser/metadata_parser.rb, line 113
def on_todo_assignee(assignee)
  @assignee = assignee
end
on_todo_event(method_node) click to toggle source

@param method_node [MethodNode] @return [void]

# File lib/smart_todo/parser/metadata_parser.rb, line 105
def on_todo_event(method_node)
  return unless method_node.is_a?(MethodNode)

  events << method_node
end
process(sexp) click to toggle source

Iterate over each tokens returned from the parser and call the corresponding method

@param sexp [Array] @return [void]

# File lib/smart_todo/parser/metadata_parser.rb, line 92
def process(sexp)
  return unless sexp

  if sexp[0].is_a?(Array)
    sexp.each { |node| process(node) }
  else
    method, *args = sexp
    send(method, *args) if method.is_a?(Symbol) && respond_to?(method)
  end
end