class XboxLiveApi::Requests::Xbox360AchievementRequest
Public Instance Methods
for(user_id, game)
click to toggle source
# File lib/xbox_live_api/requests/xbox_360_achievement_request.rb, line 9 def for(user_id, game) @parser = JsonParsers::Xbox360AchievementJsonParser.new unlocked_achievements = get_unlocked_achievements(game, user_id) all_achievements = get_all_achievements(game, user_id) combine_achievements(all_achievements, unlocked_achievements) end
Private Instance Methods
combine_achievements(all_achievements, unlocked_achievements)
click to toggle source
# File lib/xbox_live_api/requests/xbox_360_achievement_request.rb, line 33 def combine_achievements(all_achievements, unlocked_achievements) unlocked_ids = unlocked_achievements.collect(&:id) all_achievements.reject! { |achievement| unlocked_ids.include?(achievement.id) } unlocked_achievements + all_achievements end
get_achievements(url)
click to toggle source
# File lib/xbox_live_api/requests/xbox_360_achievement_request.rb, line 28 def get_achievements(url) json = HttpSessionGateway.new.get(url, header: header_for_version(Version::XBOX_360)).body @parser.parse_achievements_from(json) end
get_all_achievements(game, user_id)
click to toggle source
# File lib/xbox_live_api/requests/xbox_360_achievement_request.rb, line 23 def get_all_achievements(game, user_id) url = "https://achievements.xboxlive.com/users/xuid(#{user_id})/titleachievements?titleId=#{game.id}" get_achievements(url) end
get_unlocked_achievements(game, user_id)
click to toggle source
# File lib/xbox_live_api/requests/xbox_360_achievement_request.rb, line 18 def get_unlocked_achievements(game, user_id) url = "https://achievements.xboxlive.com/users/xuid(#{user_id})/achievements?titleId=#{game.id}" get_achievements(url) end