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