class Abt::DirectoryConfig
Constants
- FILE_NAME
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/abt/directory_config.rb, line 7 def initialize super load! if config_file_path && File.exist?(config_file_path) end
Public Instance Methods
available?()
click to toggle source
# File lib/abt/directory_config.rb, line 12 def available? !config_file_path.nil? end
load!()
click to toggle source
# File lib/abt/directory_config.rb, line 16 def load! merge!(YAML.load_file(config_file_path)) end
save!()
click to toggle source
# File lib/abt/directory_config.rb, line 20 def save! raise Abt::Cli::Abort("Configuration files are not available outside of git repositories") unless available? config_file = File.open(config_file_path, "w") YAML.dump(to_h, config_file) config_file.close end
Private Instance Methods
config_file_path()
click to toggle source
# File lib/abt/directory_config.rb, line 30 def config_file_path @config_file_path ||= begin path = nil Open3.popen3("git rev-parse --show-toplevel") do |_i, output, _e, thread| if thread.value.success? repo_root = output.read.chomp path = File.join(repo_root, FILE_NAME) end end path end end