class SC2Achievements::Homepage

Public Class Methods

get_achievements_for(user_path) click to toggle source
# File lib/sc2_achievements/homepage.rb, line 6
def self.get_achievements_for(user_path)
  page = fetch_page_of user_path
  page.css('#recent-achievements a').each_with_index.inject({}) do |achievements, (achievement, index)|
    achievements[key_for(achievement)] = {
      :title       => title_of(achievement),
      :description => description_of(achievement),
      :date        => date_of(achievement),
      :recentness  => index + 1 }
    achievements
  end
end

Private Class Methods

date_of(achievement) click to toggle source
# File lib/sc2_achievements/homepage.rb, line 32
def self.date_of(achievement)
  date_from(achievement, 'span')
end
description_of(achievement) click to toggle source
# File lib/sc2_achievements/homepage.rb, line 28
def self.description_of(achievement)
  text_of(achievement.parent, achievement.attr('data-tooltip'))
end
key_for(achievement) click to toggle source

TODO: in the future we might use a real ID, checksum, etc.

# File lib/sc2_achievements/homepage.rb, line 20
def self.key_for(achievement)
  title_of(achievement)
end
title_of(achievement) click to toggle source
# File lib/sc2_achievements/homepage.rb, line 24
def self.title_of(achievement)
  text_of(achievement)
end