Sha256: 33de545bbd887648ec6e711390a4f24948f62d6741be31c71ad9c28a416f16d9
Contents?: true
Size: 966 Bytes
Versions: 18
Compression:
Stored size: 966 Bytes
Contents
require "fileutils" require "yaml" module CC module CLI class FileStore # This class is not supposed to be directly used. It should be sublcassed # and a few constants need to be defined on the sublass to be usable. # # FILE_NAME is the name of the file this class wraps. def initialize load_data end def save return false unless File.exist? self.class::FILE_NAME File.open(self.class::FILE_NAME, "w") do |f| YAML.dump data, f end true end private attr_reader :data def load_data @data = if File.exist? self.class::FILE_NAME File.open(self.class::FILE_NAME, "r:bom|utf-8") do |f| YAML.safe_load(f, permitted_classes: [Time], permitted_symbols: [], aliases: false, filename: self.class::FILE_NAME) || {} end else {} end end end end end
Version data entries
18 entries across 18 versions & 1 rubygems