class Staker::StakOverFlow
Constants
- BASE_URL
- SEARCH_LIMIT
- SEARCH_URL
Public Class Methods
new()
click to toggle source
# File lib/staker/stak_over_flow.rb, line 12 def initialize end
Public Instance Methods
get_ansewers()
click to toggle source
# File lib/staker/stak_over_flow.rb, line 41 def get_ansewers begin answers = [] @result_links[0..SEARCH_LIMIT-1].each do |r_links| doc = Nokogiri::HTML(open(r_links)) ans = doc.css('div.accepted-answer td.answercell div.post-text').to_s qstn = doc.css('#question-header .question-hyperlink')[0] qstn.attributes['href'].value = BASE_URL + qstn.attributes['href'].value unless ans.empty? answers << qstn.to_s + ans end end final_answers = answers.join('<hr>') rescue => e puts "*" * 20 puts e.message puts "*" * 20 return false end end
get_links()
click to toggle source
# File lib/staker/stak_over_flow.rb, line 34 def get_links @result_links = [] @results.each do |link| @result_links << BASE_URL + link.attributes['href'].value end end
query(q)
click to toggle source
# File lib/staker/stak_over_flow.rb, line 15 def query(q) query_url = SEARCH_URL + q.split.join('+') begin page = Nokogiri::HTML(open(query_url)) @results = page.css('.result-link a') rescue => e puts "*" * 20 puts e.message puts "*" * 20 return false end get_links result = get_ansewers.to_s HtmlResponse.new(result) end