class GitContext::Storage::YML
Attributes
config[R]
Public Class Methods
new(config)
click to toggle source
# File lib/git_context/storage/yml.rb, line 10 def initialize(config) @config = config end
Public Instance Methods
load()
click to toggle source
# File lib/git_context/storage/yml.rb, line 20 def load return unless config_filepath && FileTest.exist?(config_filepath) load_profiles_from_file load_contexts_from_file end
save()
click to toggle source
# File lib/git_context/storage/yml.rb, line 27 def save File.open(config_filepath, 'w') do |file| file.write(YAML.dump(serialized_data)) end end
setup()
click to toggle source
# File lib/git_context/storage/yml.rb, line 14 def setup return if FileTest.exist?(config_filepath) FileUtils.touch(config_filepath) end
Private Instance Methods
config_filepath()
click to toggle source
# File lib/git_context/storage/yml.rb, line 56 def config_filepath File.join(git_context_dir, CONFIG_FILE) end
content()
click to toggle source
# File lib/git_context/storage/yml.rb, line 48 def content @content ||= YAML.load_file(config_filepath) || {} end
git_context_dir()
click to toggle source
# File lib/git_context/storage/yml.rb, line 60 def git_context_dir File.join(config.home, BASE_STORAGE_DIR) end
load_contexts_from_file()
click to toggle source
# File lib/git_context/storage/yml.rb, line 42 def load_contexts_from_file content['contexts']&.each do |context| config.contexts << Context.new(context['work_dir'], context['profile_name']) end end
load_profiles_from_file()
click to toggle source
# File lib/git_context/storage/yml.rb, line 35 def load_profiles_from_file content['profiles']&.each do |profile| user = User.new(profile['name'], profile['email'], profile['signing_key']) config.profiles << Profile.new(profile['profile_name'], user) end end
serialized_data()
click to toggle source
# File lib/git_context/storage/yml.rb, line 52 def serialized_data config.serialize end