module Norikra::Querydump::Format

Constants

HEADER_REGEXP
VERSION

Public Class Methods

json2text(src=STDIN, dest=STDOUT) click to toggle source
# File lib/norikra/querydump/format.rb, line 11
def self.json2text(src=STDIN, dest=STDOUT)
  JSON.parse(src.read).each do |q|
    expression = q.delete('expression')
    dest.puts "#{HEADER}#{q.to_json}"
    dest.puts expression
    dest.puts ""
  end
end
text2json(src=STDIN, dest=STDOUT) click to toggle source
# File lib/norikra/querydump/format.rb, line 20
def self.text2json(src=STDIN, dest=STDOUT)
  queries = []
  buf = []
  index = -1

  src.each do |line|
    next if line == "\n"
    if line =~ HEADER_REGEXP
      if index >= 0
        queries[index]['expression'] = buf.join('')
        buf.clear
      end
      line.gsub!(HEADER_REGEXP, '')
      line.gsub!(/ *$/, '')
      index = index + 1
      queries[index] = JSON.parse(line)
    elsif line =~ /^--/
      # skip comment line
      next
    else
      buf << line
    end
  end
  queries[index]['expression'] = buf.join('')
  dest.puts queries.to_json
end