class Jsonar::CLI

Public Class Methods

run(args = []) click to toggle source
# File lib/jsonar/cli.rb, line 6
def self.run(args = [])
  begin
    index = Jsonar::Indexer.from_files(args)
  rescue ArgumentError
    puts 'Please specify a JSON file to search in'
    puts 'Usage: jsonar [FILE]...'
    return
  rescue Errno::ENOENT => e
    puts e.message
    return
  rescue JSON::ParserError => e
    puts 'JSON file is invalid'
    puts e.message
    return
  end

  loop do
    query = get_query
    results = search(index, query)
    show_results(results)
  end
end

Private Class Methods

get_query() click to toggle source
# File lib/jsonar/cli.rb, line 35
def self.get_query
  puts 'What are you looking for? (press Ctrl-c to exit)'
  query = STDIN.gets
  query && query.chomp || query
end
show_results(result) click to toggle source
# File lib/jsonar/cli.rb, line 45
def self.show_results(result)
  if result
    ap result
  else
    puts 'No matching record found.'
  end
end