class Repos::StackOverflow
Public Class Methods
new(gem_name, stackoverflow_token)
click to toggle source
# File lib/repocrawler/crawler.rb, line 378 def initialize(gem_name, stackoverflow_token) @STACKOVERFLOW_API = "https://api.stackexchange.com/2.2/search/advanced?order=desc&sort=creation&q=#{gem_name}&site=stackoverflow&key=#{stackoverflow_token}" end
Public Instance Methods
get_questions()
click to toggle source
get questions from stackexchange
# File lib/repocrawler/crawler.rb, line 383 def get_questions stop_words = [] File.open(File.expand_path("../../public/stop_words.txt", File.dirname(__FILE__)), "r") do |f| f.each_line do |line| stop_words << line.gsub(/\n/,"") end end questions = [] fetch_questions = HTTParty.get(@STACKOVERFLOW_API) fetch_questions['items'].each do |q| #don't store stop words good_words = [] q['title'].split(' ').map do |word| if !stop_words.include?(word.downcase) good_words << word end end questions << { 'creation_date' => q['creation_date'], 'title' => good_words, 'views' => q['view_count'] } end questions_word_count = Hash.new(0) questions.each do |question| question['title'].each do |word| questions_word_count[word] += 1 end end questions_word_count = questions_word_count.sort_by { |word, freq| freq }.reverse! [questions, questions_word_count] end