Module: TriviaCrack::Parsers::UserParser
- Defined in:
- lib/triviacrack/parsers/user_parser.rb
Class Method Summary collapse
-
.parse(raw_data) ⇒ Object
Internal: Parses data returned from the Trivia Crack API to create a TriviaCrack::User object.
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.
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/triviacrack/parsers/user_parser.rb', line 22 def self.parse(raw_data) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize, Metrics/PerceivedComplexity, Metrics/CyclomaticComplexity 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 |