module SC2Achievements
Public Class Methods
for(user_path)
click to toggle source
# File lib/sc2_achievements.rb, line 5 def self.for(user_path) achievements = get_achievements_for user_path achievements.sort_by do |title, achievement| [achievement[:date], -(achievement[:recentness] || 7)] end.reverse.collect do |title, achievement| achievement.delete :recentness achievement end end
Private Class Methods
add_subcategories_achievements_to(achievements, user_path, category)
click to toggle source
# File lib/sc2_achievements.rb, line 23 def self.add_subcategories_achievements_to(achievements, user_path, category) Page.get_categories_for(user_path, :category => category).inject(achievements) do |achievements, category| category_achievements = Page.get_achievements_for(user_path, :category => category) achievements.merge(category_achievements) do |title, old_achievement, new_achievement| old_achievement.merge(new_achievement) end end end
get_achievements_for(user_path)
click to toggle source
# File lib/sc2_achievements.rb, line 16 def self.get_achievements_for(user_path) achievements = Page.get_achievements_for user_path Page.get_categories_for(user_path).inject(achievements) do |achievements, category| add_subcategories_achievements_to(achievements, user_path, category) end end