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
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