Sha256: 9e425c1e89fe1891d224f431055cda63a4ae655c47136c5b1b0edbe28fdf9876
Contents?: true
Size: 764 Bytes
Versions: 9
Compression:
Stored size: 764 Bytes
Contents
require 'psych' require 'pathname' require 'forwardable' module Canals class Config extend Forwardable def initialize(root = nil) @root = root @config = load_config(global_config_file) end def_delegators :@config, :[], :[]= def load_config(config_file) valid_file = config_file && config_file.exist? && !config_file.size.zero? return {} if !valid_file return Psych.load_file(config_file) end def save! FileUtils.mkdir_p(global_config_file.dirname) File.open(global_config_file, 'w') do |file| file.write(Psych.dump(@config)) end end private def global_config_file file = File.join(Dir.home, '.canals/config') Pathname.new(file) end end end
Version data entries
9 entries across 9 versions & 1 rubygems