module TriviaCrack::Parsers::CategoryStatisticsParser

Public Class Methods

parse(raw_data) click to toggle source

Internal: Parses data returned from the Trivia Crack API to create TriviaCrack::CategoryStatistics objects.

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

Examples

raw_data = get_raw_data_from_API
...
stats = TriviaCrack::Parsers::CategoryStatisticsParser.parse raw_data

Returns a hash of TriviaCrack::CategoryStatistics objects, keyed by category.

# File lib/triviacrack/parsers/category_statistics_parser.rb, line 23
def self.parse(raw_data)
  categories = {}

  if raw_data
    raw_data.each do |category|
      category_name = category["category"].downcase.to_sym

      categories[category_name] =
        TriviaCrack::CategoryStatistics.new(
          category: category_name,
          correct: category["correct"],
          incorrect: category["incorrect"],
          worst: category["worst"]
        )
    end
  end

  categories
end