Method: EachSQL#shift

Defined in:
lib/each_sql/each_sql.rb

#shiftHash

Parses current buffer and returns the result in Hash. :sqls is an Array of processed executable SQL blocks, :leftover is the unparsed trailing data

Returns:

  • (Hash)


50
51
52
53
54
55
56
57
58
59
# File 'lib/each_sql/each_sql.rb', line 50

def shift
  result   = @parser.parse @data
  @data    = result.captures[:leftover].join
  leftover = strip_sql(@data)
  {
    :sqls =>
      result.captures[:execution_block].map { |b| strip_sql b },
    :leftover => leftover.empty? ? nil : leftover
  }
end