summaryrefslogtreecommitdiff
path: root/bin/common.rb
diff options
context:
space:
mode:
Diffstat (limited to 'bin/common.rb')
-rw-r--r--bin/common.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/bin/common.rb b/bin/common.rb
new file mode 100644
index 0000000..a5840ec
--- /dev/null
+++ b/bin/common.rb
@@ -0,0 +1,16 @@
+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
+ Dir.glob("#{cfg["yamldir"]}/*.yml").map{|filename|load_user_yaml(filename)}
+end