Module: TriviaCrack::Parsers::CategoryStatisticsParser

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

Class Method Summary collapse

Class Method Details

.parse(raw_data) ⇒ Object

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.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# 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