class XboxLiveApi::JsonParsers::AchievementJsonParser

Public Instance Methods

parse_achievements_from(json_string) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 8
def parse_achievements_from(json_string)
  json = parse_json_string(json_string)
  ensure_valid_achievement_json(json)
  json['achievements'].collect do |achievement_json|
    Achievement.new(name: name_from(achievement_json),
                    id: id_from(achievement_json),
                    is_unlocked: is_unlocked_from(achievement_json),
                    icon_url: icon_url_from(achievement_json),
                    is_secret: is_secret_from(achievement_json),
                    unlocked_description: unlocked_description_from(achievement_json),
                    locked_description: locked_description_from(achievement_json),
                    value: value_from(achievement_json),
                    time_unlocked: time_unlocked_from(achievement_json))
  end
end

Private Instance Methods

ensure_valid_achievement_json(json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 30
def ensure_valid_achievement_json(json)
  raise 'Achievement response is invalid' if json.nil?
  raise 'Achievement json response is missing the achievement section' unless json.has_key?('achievements')
end
icon_url_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 47
def icon_url_from(achievement_json)
  raise NotImplementedError
end
id_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 39
def id_from(achievement_json)
  raise NotImplementedError
end
is_secret_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 51
def is_secret_from(achievement_json)
  raise NotImplementedError
end
is_unlocked_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 43
def is_unlocked_from(achievement_json)
  raise NotImplementedError
end
locked_description_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 59
def locked_description_from(achievement_json)
  raise NotImplementedError
end
name_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 35
def name_from(achievement_json)
  raise NotImplementedError
end
parse_json_string(json_string) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 26
def parse_json_string(json_string)
  Oj.load(json_string)
end
time_unlocked_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 67
def time_unlocked_from(achievement_json)
  raise NotImplementedError
end
unlocked_description_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 55
def unlocked_description_from(achievement_json)
  raise NotImplementedError
end
value_from(achievement_json) click to toggle source
# File lib/xbox_live_api/json_parsers/achievement_json_parser.rb, line 63
def value_from(achievement_json)
  raise NotImplementedError
end