require 'yaml' def cfg @cfg ||= YAML::load(open("hackers-git.yml")) end def load_user_yaml(filename) user = YAML::load(open(filename)) groups = user["groups"] || [] user["groups"] = groups.concat((groups & cfg["groupgroups"].keys).map{|g|cfg["groupgroups"][g]}.flatten) return user end def load_all_users users = {} Dir.glob("#{cfg["yamldir"]}/*.yml").map{|filename| uid = File.basename(filename).sub(/^([0-9]*)\.yml$/, "\\1").to_i user = load_user_yaml(filename) users[uid] = user } return users end