class Plugins::UrbanDictionary
Public Instance Methods
query(m, query)
click to toggle source
# File lib/Zeta/plugins/urban.rb, line 20 def query(m, query) m.reply "UD↦ #{search(query)}" end
wotd(m)
click to toggle source
# File lib/Zeta/plugins/urban.rb, line 25 def wotd(m) parser = URI::Parser.new url = parser.escape("http://www.urbandictionary.com/") doc = Nokogiri.HTML( RestClient.get(url).body ) word = doc.at_css('.word').text.strip[0..40] meaning = doc.at_css('.meaning').text.strip[0..450] + "... \u263A" m.reply "UD↦ #{word} -- #{meaning}" end
Private Instance Methods
search(query)
click to toggle source
# File lib/Zeta/plugins/urban.rb, line 38 def search(query) parser = URI::Parser.new url = parser.escape "http://api.urbandictionary.com/v0/define?term=#{query}" # Load API data data = JSON.parse( RestClient.get(url).body ) # Return if nothing is found return 'No Results found' if data['result_type'] == 'no_results' # Return first definition string = data['list'].first['definition'].gsub(/\r|\n|\n\r/, ' ') string[0..450] + "... \u263A" rescue => e e.message end