class Plugins::Wolfram
Public Instance Methods
calculate(m, query)
click to toggle source
# File lib/Zeta/plugins/wolfram.rb, line 19 def calculate(m, query) # Rescue in case something goes wrong begin url = "http://api.wolframalpha.com/v2/query?input=#{CGI.escape(query)}&appid=#{Config.secrets[:wolfram]}&primary=true&format=plaintext" request = RestClient.get(url).body data = Crack::XML.parse(request) pod0 = data['queryresult']['pod'][0]['subpod']['plaintext'].strip pod1 = data['queryresult']['pod'][1]['subpod']['plaintext'].strip return 'Unable to get a results' if pod0.nil? if pod1.lines.count > 2 m.user.send "# Wolfram Results #\n #{pod0}\n #{pod1}", true elsif pod0.length > 400 m.user.send("#{pod0} #{pod1}", true) else m.reply "#{pod0} = #{pod1}" end rescue m.reply 'Unable to get a results' end end