Sha256: 4a4ee07ace0d18e75940c81aa45ad32428cbba079fe2835c4a0f11515003ce2b
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
# frozen_string_literal: true module Codebreakergem class InformationPresenter class << self def rules I18n.t(:rules) end def stats result = I18n.t(:stats_header) stats_from_file = FileWorker.read_from_file(Game::FILE) return result unless stats_from_file if stats_from_file.is_a? Array sorted_data = stats_from_file.sort_by { |item| [item[:order], item[:attempts_used], item[:hints_used]] } sorted_data.each_with_index { |item, index| result += stats_constructor(index + 1, item) } else result += stats_constructor(1, stats_from_file) end result end def stats_as_hash stats = FileWorker.read_from_file(Game::FILE) return stats.sort_by { |item| [item[:order], item[:attempts_used], item[:hints_used]] } if stats.is_a? Array [stats].compact end private def stats_constructor(index, item) "#{index}\t #{item[:name]}\t #{item[:difficulty]}\t #{item[:attempts_total]}\t " \ "#{item[:attempts_used]}\t #{item[:hints_total]}\t #{item[:hints_used]}\t #{item[:game_time]}\n" end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
codebreakergem-0.1.19 | lib/classes/information_presenter.rb |
codebreakergem-0.1.18 | lib/classes/information_presenter.rb |