Module: TriviaCrack::Parsers::UserParser

Defined in:
lib/triviacrack/parsers/user_parser.rb

Class Method Summary collapse

Class Method Details

.parse(raw_data) ⇒ Object

Internal: Parses data returned from the Trivia Crack API to create a TriviaCrack::User object.

raw_data - A hash of the raw data returned by the Trivia Crack API.

Examples

raw_data = get_raw_data_from_API
...
user = TriviaCrack::Parsers::UserParser.parse raw_data

Returns a TriviaCrack::User.



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/triviacrack/parsers/user_parser.rb', line 21

def self.parse(raw_data)
  lives = raw_data["lives"]
  level_data = raw_data["level_data"]
  country = raw_data["country"]

  TriviaCrack::User.new(
    id: raw_data["id"],
    username: raw_data["username"],
    facebook_id: raw_data["facebook_id"],
    facebook_name: raw_data["facebook_name"],
    coins: raw_data["coins"],
    lives: lives ? lives["quantity"] : nil,
    max_lives: lives ? lives["max"] : nil,
    unlimited_lives: lives ? lives["unlimited"] : nil,
    country: country ? country.downcase.to_sym : nil,
    extra_shots: raw_data["extra_shots"],
    level: level_data ? level_data["level"] : nil,
    level_points: level_data ? level_data["points"] : nil,
    level_progress: level_data ? level_data["progress"] : nil,
    goal_points: level_data ? level_data["goal_points"] : nil,
    level_up: level_data ? level_data["level_up"] : nil
  )
end