class FacebookWordCounter
Constants
- FACEBOOK_URL_PREFIX
- FACEBOOK_URL_SUFFIX
Public Class Methods
get_word_counts(*facebook_pages)
click to toggle source
# File lib/facebook_word_counter/facebook_word_counter.rb, line 16 def self.get_word_counts(*facebook_pages) raise NotLoggedInError unless logged_in? facebook_pages.map do |url| no_js_url = "#{FACEBOOK_URL_PREFIX}#{url}#{FACEBOOK_URL_SUFFIX}" @agent.get(no_js_url) { name: get_facebook_name, image: get_facebook_photo_url, words: get_word_counts_on_page } end end
setup_browser_agent(username, password)
click to toggle source
# File lib/facebook_word_counter/facebook_word_counter.rb, line 10 def self.setup_browser_agent(username, password) @agent = Mechanize.new @agent.get(FACEBOOK_URL_PREFIX) login(username, password) end
Private Class Methods
get_facebook_name()
click to toggle source
# File lib/facebook_word_counter/facebook_word_counter.rb, line 43 def self.get_facebook_name @agent.page.title end
get_facebook_photo_url()
click to toggle source
# File lib/facebook_word_counter/facebook_word_counter.rb, line 52 def self.get_facebook_photo_url @agent.page.search("img.profilePic").first['src'] end
get_word_counts_on_page()
click to toggle source
# File lib/facebook_word_counter/facebook_word_counter.rb, line 47 def self.get_word_counts_on_page all_words = @agent.page.search(".userContent").map { |post| TextCleaner.clean_text(post.text) }.join(' ') WordCounter.count_words(all_words) end
logged_in?()
click to toggle source
# File lib/facebook_word_counter/facebook_word_counter.rb, line 39 def self.logged_in? !(@agent.page.uri.to_s =~ /login_attempt/) end
login(username, password)
click to toggle source
# File lib/facebook_word_counter/facebook_word_counter.rb, line 32 def self.login(username, password) form = @agent.page.forms.first form.email = username form.pass = password form.submit end