Sha256: 3a046541c7df51b85a1ebdf67d52216a6b56406a4a1f8ff9ec4e736ee2fd8912
Contents?: true
Size: 1.55 KB
Versions: 3
Compression:
Stored size: 1.55 KB
Contents
# frozen_string_literal: true require 'active_support/core_ext/string' require 'yaml' require 'eac_config/old_configs/file' require 'eac_ruby_utils/patches/hash/sym_keys_hash' require 'eac_config/paths_hash' require 'eac_ruby_utils/simple_cache' module EacConfig class OldConfigs include ::EacRubyUtils::SimpleCache attr_reader :configs_key, :options # Valid options: [:storage_path] def initialize(configs_key, options = {}) @configs_key = configs_key @options = options.to_sym_keys_hash.freeze load end delegate :clear, to: :file delegate :save, to: :file delegate :load, to: :file def []=(entry_key, entry_value) write_entry(entry_key, entry_value) end def write_entry(entry_key, entry_value) file.write(entry_key, entry_value) end def [](entry_key) read_entry(entry_key) end def read_entry(entry_key) file.read(entry_key) end delegate :autosave?, to: :file private attr_accessor :data def file_uncached ::EacConfig::OldConfigs::File.new( storage_path, options ) end def storage_path_uncached path = options_storage_path || default_storage_path return path if ::File.exist?(path) && ::File.size(path).positive? ::FileUtils.mkdir_p(::File.dirname(path)) ::File.write(path, {}.to_yaml) path end def options_storage_path options[:storage_path] end def default_storage_path ::File.join(ENV['HOME'], '.config', configs_key, 'settings.yml') end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
avm-tools-0.99.1 | vendor/eac_config/lib/eac_config/old_configs.rb |
eac_config-0.3.0 | lib/eac_config/old_configs.rb |
avm-tools-0.99.0 | vendor/eac_config/lib/eac_config/old_configs.rb |