module Git::Copilot::Configuration
Constants
- User
Protected Instance Methods
add_user(username, name, email)
click to toggle source
# File lib/git/copilot/configuration.rb, line 70 def add_user(username, name, email) user = User.new(username, name, email) users.store(user.username, user) end
clear_pairs()
click to toggle source
# File lib/git/copilot/configuration.rb, line 62 def clear_pairs self.current_pairs = [] end
commit_config()
click to toggle source
# File lib/git/copilot/configuration.rb, line 46 def commit_config File.write(config_file_path, YAML.dump(config_to_commit)) end
commit_message_template_path()
click to toggle source
# File lib/git/copilot/configuration.rb, line 28 def commit_message_template_path File.join(config_dir, ".gitcopilot-commit-template") end
config_dir()
click to toggle source
# File lib/git/copilot/configuration.rb, line 20 def config_dir File.expand_path(ENV["HOME"]) end
config_file_path()
click to toggle source
# File lib/git/copilot/configuration.rb, line 24 def config_file_path File.join(config_dir, ".gitcopilot.yml") end
config_to_commit()
click to toggle source
# File lib/git/copilot/configuration.rb, line 36 def config_to_commit { "template" => configuration["template"], "users" => users.each_with_object({}) do |(username, user), memo| memo[username.to_s] = user.to_h end, "current_pairs" => current_pairs.map(&:username), } end
configuration()
click to toggle source
# File lib/git/copilot/configuration.rb, line 32 def configuration @configuration ||= YAML.safe_load(File.read(config_file_path)) end
current_pairs()
click to toggle source
# File lib/git/copilot/configuration.rb, line 56 def current_pairs @current_pairs ||= configuration.fetch("current_pairs", []).map do |username| users.fetch(username) end end
current_pairs=(usernames)
click to toggle source
# File lib/git/copilot/configuration.rb, line 66 def current_pairs=(usernames) @current_pairs = usernames.to_a.flatten end
users()
click to toggle source
# File lib/git/copilot/configuration.rb, line 50 def users @users ||= configuration.fetch("users", {}).each_with_object({}) do |(username, data), memo| memo[username] = User.new(username, data["name"], data["email"]) end end