class LoLBase::SummaryStats

Public Class Methods

new(data) click to toggle source
# File lib/lolbase/data/stats.rb, line 51
def initialize(data)
  @data = data
  parse data
  self
end

Public Instance Methods

all() click to toggle source
# File lib/lolbase/data/stats.rb, line 69
def all
  return @parsed_data
end
find(criteria = {}) click to toggle source
# File lib/lolbase/data/stats.rb, line 61
def find(criteria = {})
  raise InvalidArgumentError if criteria.class != Hash
  if criteria[:name]
    return @parsed_data.select { |item| item.name == criteria[:name] }.first
  end
  nil
end
raw_json() click to toggle source
# File lib/lolbase/data/stats.rb, line 57
def raw_json
  @data
end

Private Instance Methods

parse(data) click to toggle source
# File lib/lolbase/data/stats.rb, line 75
def parse(data)
  @parsed_data = []

  data = JSON.parse data
  data["playerStatSummaries"].each do |s|
    @parsed_data <<
      Summary.new({
        name: s["playerStatSummaryType"],
        last_modified: Time.at(s["modifyDate"] / 1000),
        stats: s["aggregatedStats"].merge!({ "wins" => s["wins"], "losses" => s["losses"] })
      })
  end
end