summaryrefslogtreecommitdiff
path: root/bin/common.rb
blob: 91e14be42d0b07a8d49f76152ba2180ba03025e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'yaml'

def cfg
	@cfg ||= YAML::load(open("parabola-hackers.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