Class: Orbacle::Indexer::ParsingProcess

Inherits:
Object
  • Object
show all
Defined in:
lib/orbacle/indexer.rb

Instance Method Summary collapse

Constructor Details

#initialize(logger, queue_contents, queue_asts) ⇒ ParsingProcess

Returns a new instance of ParsingProcess.



66
67
68
69
70
# File 'lib/orbacle/indexer.rb', line 66

def initialize(logger, queue_contents, queue_asts)
  @logger = logger
  @queue_contents = queue_contents
  @queue_asts = queue_asts
end

Instance Method Details

#callObject



72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/orbacle/indexer.rb', line 72

def call
  parser = RubyParser.new
  while !@queue_contents.closed? || !@queue_contents.empty?
    element = @queue_contents.shift
    begin
      ast = parser.parse(element.ast)
      @queue_asts.push(QueueElement.new(ast, element.file_path))
    rescue RubyParser::Error => e
      logger.warn "Warning: Skipped #{element.file_path} because of #{e}"
    end
  end
  @queue_asts.close
end