module Codebreaker::Storage

Constants

FILE_NAME
PATH

Public Instance Methods

load_database() click to toggle source
# File lib/modules/storage.rb, line 15
def load_database
  YAML.load(File.read(file_path))
end
save(results) click to toggle source
# File lib/modules/storage.rb, line 8
def save(results)
  FileUtils.mkdir_p(PATH) unless Dir.exist?(PATH)
  create_storage unless File.exist?(file_path)
  data = load_database << results
  write_data(data)
end
sort_player() click to toggle source
# File lib/modules/storage.rb, line 19
def sort_player
  create_storage unless File.exist?(file_path)
  load_database.sort_by { |game| [game[:difficulty], game[:attempts_used], game[:hints_used]] }
end

Private Instance Methods

create_storage() click to toggle source
# File lib/modules/storage.rb, line 30
def create_storage
  write_data([])
end
file_path() click to toggle source
# File lib/modules/storage.rb, line 26
def file_path
  File.join(Dir.pwd, PATH, FILE_NAME)
end
write_data(data) click to toggle source
# File lib/modules/storage.rb, line 34
def write_data(data)
  File.open(file_path, 'w') { |file| file.write(data.to_yaml) }
end