Sha256: d1b674da8e1c73aa3c11f9bfd6045d95f08795a1633953564e46f14712953ed5
Contents?: true
Size: 787 Bytes
Versions: 12
Compression:
Stored size: 787 Bytes
Contents
module EY class EYRC attr_reader :path DEFAULT_PATH = "~/.eyrc" def self.load new(ENV['EYRC'] || DEFAULT_PATH) end def initialize(path) self.path = path end def exist? path.exist? end def api_token self['api_token'] end def api_token=(token) self['api_token'] = token end private def path=(p) @path = Pathname.new(p).expand_path end def [](key) read_data[key.to_s] end def []=(key,val) merge_and_write(key.to_s => val) val end def read_data exist? && YAML.load(path.read) || {} end def merge_and_write(new_data) to_write = read_data.merge(new_data) path.open("w") {|f| YAML.dump(to_write, f) } end end end
Version data entries
12 entries across 12 versions & 1 rubygems