Sha256: 45ec69b1b4bf0d20431b4e461eb384ac3b55a00f267614f894ebdc710665437a

Contents?: true

Size: 693 Bytes

Versions: 2

Compression:

Stored size: 693 Bytes

Contents

# frozen_string_literal: true

module Codebreakergem
  class FileWorker
    PERMITTED_CLASSES = [Statistic, Difficulty]
    
    class << self
      def read_from_file(filename)
        return nil unless File.file?(Game::FILE)

        YAML.safe_load(File.read(filename), PERMITTED_CLASSES, [], true)
      end

      def add_to_file(filename, data)
        data_in_file = Array(YAML.safe_load(File.read(filename), PERMITTED_CLASSES, [], true))
        data_in_file << data
        write_to_file(filename, data_in_file)
      end

      def write_to_file(filename, data)
        File.open(filename, 'w') { |file| file.write(data.to_yaml) }
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
codebreakergem-0.1.9 lib/classes/file_worker.rb
codebreakergem-0.1.8 lib/classes/file_worker.rb