class MGit::AppData::AppDataVersion1
Public Instance Methods
active?()
click to toggle source
# File lib/mgit/appdata.rb, line 106 def active? File.directory?(config_dir) && (load(:version, nil) == '1') end
load(key, default)
click to toggle source
# File lib/mgit/appdata.rb, line 123 def load(key, default) case key when :repositories repos = YAML.load_file(repo_file) repos ? repos : default when :version, *Configuration::KEYS.keys config = YAML.load_file(config_file) (config && config.key?(key)) ? config[key] : default else fail ImplementationError, "AppDataVersion1::load called with unknown key #{key}." end end
migrate!()
click to toggle source
# File lib/mgit/appdata.rb, line 110 def migrate! setup! old_repofile = LegacyAppData.new.send(:repofile) FileUtils.mv(old_repofile, repo_file) if File.file?(old_repofile) end
save!(key, value)
click to toggle source
# File lib/mgit/appdata.rb, line 136 def save!(key, value) case key when :repositories File.open(repo_file, 'w') { |fd| fd.write value.to_yaml } when *Configuration::KEYS.keys config = YAML.load_file(config_file) config[key] = value File.open(config_file, 'w') { |fd| fd.write config.to_yaml } else fail ImplementationError, "AppDataVersion1::save! called with unknown key #{key}." end end
setup!()
click to toggle source
# File lib/mgit/appdata.rb, line 117 def setup! FileUtils.mkdir_p(config_dir) File.open(config_file, 'w') { |fd| fd.write({ version: '1' }.to_yaml) } FileUtils.touch(repo_file) end
version()
click to toggle source
# File lib/mgit/appdata.rb, line 102 def version 1 end
Private Instance Methods
config_dir()
click to toggle source
# File lib/mgit/appdata.rb, line 151 def config_dir XDG['CONFIG_HOME'].to_path.join('mgit') end
config_file()
click to toggle source
# File lib/mgit/appdata.rb, line 159 def config_file File.join(config_dir, 'config.yml') end
repo_file()
click to toggle source
# File lib/mgit/appdata.rb, line 155 def repo_file File.join(config_dir, 'repositories.yml') end