Method: SyntaxSuggest::CodeSearch#initialize

Defined in:
lib/syntax_suggest/code_search.rb

#initialize(source, record_dir: DEFAULT_VALUE) ⇒ CodeSearch

Returns a new instance of CodeSearch.



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/syntax_suggest/code_search.rb', line 44

def initialize(source, record_dir: DEFAULT_VALUE)
  record_dir = if record_dir == DEFAULT_VALUE
    (ENV["SYNTAX_SUGGEST_RECORD_DIR"] || ENV["SYNTAX_SUGGEST_DEBUG"]) ? "tmp" : nil
  else
    record_dir
  end

  if record_dir
    @record_dir = SyntaxSuggest.record_dir(record_dir)
    @write_count = 0
  end

  @tick = 0
  @source = source
  @name_tick = Hash.new { |hash, k| hash[k] = 0 }
  @invalid_blocks = []

  @code_lines = CleanDocument.new(source: source).call.lines

  @frontier = CodeFrontier.new(code_lines: @code_lines)
  @block_expand = BlockExpand.new(code_lines: @code_lines)
  @parse_blocks_from_indent_line = ParseBlocksFromIndentLine.new(code_lines: @code_lines)
end