class GitCommitAutouser::Config

Constants

USER_CONFIG_PREFIX
User

Public Class Methods

users() click to toggle source
# File lib/git_commit_autouser/config.rb, line 6
def self.users
  config = {}
  `git config --get-regexp "#{USER_CONFIG_PREFIX}.+\."`.split("\n").map do |c|
    c.split(" ", 2)
  end.each do |c|
    data = c.first.match(/#{USER_CONFIG_PREFIX}(.+)\.(.+)/)
    config[data[1]] ||= {}
    config[data[1]][data[2]] = c.last
  end

  config.values.map do |c|
    User.new.tap do |u|
      u.url_regexp = Regexp.new(c["url-regexp"])
      u.name = c["name"]
      u.email = c["email"]
      if c["hub-config"]
        u.hub_config = File.expand_path(c["hub-config"])
      end
    end
  end
end