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
search(index, query)
click to toggle source
# File lib/jsonar/cli.rb, line 41 def self.search(index, query) index[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