class Codebreakergem::InformationPresenter
Public Class Methods
rules()
click to toggle source
# File lib/classes/information_presenter.rb, line 6 def rules I18n.t(:rules) end
stats()
click to toggle source
# File lib/classes/information_presenter.rb, line 10 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
stats_as_hash()
click to toggle source
# File lib/classes/information_presenter.rb, line 24 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 Class Methods
stats_constructor(index, item)
click to toggle source
# File lib/classes/information_presenter.rb, line 33 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