class Akiva::CLI
Public Instance Methods
ask(question)
click to toggle source
# File lib/akiva/cli.rb, line 14 def ask(question) TheBigDB.raise_on_api_status_error = true TheBigDB.api_host = options["api-host"] if options["verbose"] require "awesome_print" TheBigDB.before_request_execution = lambda do |request| puts "REQUEST DATA SENT:" data_sent = request.data_sent data_sent.delete("headers") unless options["headers"] ap data_sent if options["caller"] puts "CALLED FROM:" puts caller.join("\n") end puts end TheBigDB.after_request_execution = lambda do |request| puts "REQUEST DATA RECEIVED:" data_received = request.data_received data_received.delete("headers") unless options["headers"] ap data_received puts end end akiva_question = Akiva::Question.new(question) begin if response = akiva_question.formatted_response puts response.gsub("; ", "\n") else puts "Sorry, Akiva can't answer that question for now." end rescue TheBigDB::Request::ApiStatusError puts "Sorry, it looks like TheBigDB is currently unavailable." end end