Sha256: 4a3ac8f94a567faa7ff0bd8c5a31ce1ac48361f9b04b4f8e2ecc19116b08adc3

Contents?: true

Size: 759 Bytes

Versions: 1

Compression:

Stored size: 759 Bytes

Contents

require_relative '../utils/db_utils'
require_relative '../config/constants'
class Statistic
  attr_reader :game

  def self.generate_stats(game)
    {
      name: game.player_name,
      difficulty: game.difficulty_name,
      attempts_total: DIFFICULTIES[game.difficulty_name.to_sym][:attempts],
      attempts_used: DIFFICULTIES[game.difficulty_name.to_sym][:attempts] - game.attempts,
      hints_total: DIFFICULTIES[game.difficulty_name.to_sym][:hints],
      hints_used: DIFFICULTIES[game.difficulty_name.to_sym][:hints] - game.hints,
      date: Time.now.gmtime
    }
  end

  def self.sort_stats
    stats.sort_by { |player| [player[:attempts_total], player[:attempts_used], player[:hints_used]] }
  end

  def self.stats
    DbUtils.get(DB)
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
codebreaker_paratskiy-0.1.9 lib/services/statistic_service.rb