class Scrapperd::Activity

Public Class Methods

new(item) click to toggle source
Calls superclass method
# File lib/scrapperd/activity.rb, line 8
def initialize(item)
  super(Hashie::Mash.new({
      title:              title_from_title(item[:title]),
      score:              score_from_title(item[:title]),
      link:               item[:link].force_encoding("UTF-8"),
      film_link:          "http://letterboxd.com/film/#{nicetitle_from_url(item[:link])}/".force_encoding("UTF-8"),
      watched_at:         watched_at_from_description(item[:description]),
      added_at:           item[:pubDate],
      original_response:  item
    })
  )      
end

Public Instance Methods

nicetitle_from_url(url) click to toggle source
# File lib/scrapperd/activity.rb, line 21
def nicetitle_from_url(url)
  url.split('/').last
end
score_from_title(title) click to toggle source
# File lib/scrapperd/activity.rb, line 34
def score_from_title(title)
  html_score = title.split(' - ').last
  html_score.force_encoding("UTF-8")
  html_score.split(//).map{|ind_score| ind_score == "★" ? 2 : 1 }.inject{|sum,x| sum + x }
end
title_from_title(title) click to toggle source
# File lib/scrapperd/activity.rb, line 30
def title_from_title(title)
  title.split(' - ')[0..-2].join(' - ').force_encoding("UTF-8")
end
watched_at_from_description(description) click to toggle source
# File lib/scrapperd/activity.rb, line 25
def watched_at_from_description(description)
  string_date = description.match(/<p>Watched on (.*)<\/p>/)[1]
  Time.parse string_date
end