class GoogleSearch
Public Class Methods
Source
# File plugins/google.rb, line 15 def self.search(query, fetch: nil) url = "http://www.google.com/search?q=#{CGI.escape(query)}" html = if fetch fetch.call(url) else URI.parse(url).open.read end res = Nokogiri.HTML(html).at("h3.r") title = res.text link = res.at("a")[:href] desc = res.at("./following::div").children.first.text CGI.unescape_html "#{title} - #{desc} (#{link})" rescue StandardError "No results found" end
Public Instance Methods
Source
# File plugins/google.rb, line 36 def execute(m, query) m.reply(search(query)) end
Source
# File plugins/google.rb, line 32 def search(query) self.class.search(query) end