Merge 0.9->trunk
authorMatthew Wild <mwild1@gmail.com>
Sat, 27 Apr 2013 18:03:19 +0100
changeset 5528 2539e60cc070
parent 5525 8e41b127e44e (current diff)
parent 5527 7e7f45f587a1 (diff)
child 5534 522e99b898a0
Merge 0.9->trunk
--- a/core/moduleapi.lua	Sat Apr 27 13:11:27 2013 +0100
+++ b/core/moduleapi.lua	Sat Apr 27 18:03:19 2013 +0100
@@ -270,6 +270,22 @@
 	return set.new(value);
 end
 
+function api:get_option_inherited_set(name, ...)
+	local value = self:get_option_set(name, ...);
+	local global_value = self:context("*"):get_option_set(name, ...);
+	if not value then
+		return global_value;
+	elseif not global_value then
+		return value;
+	end
+	value:include(global_value);
+	return value;
+end
+
+function api:context(host)
+	return setmetatable({host=host or "*"}, {__index=self,__newindex=self});
+end
+
 function api:add_item(key, value)
 	self.items = self.items or {};
 	self.items[key] = self.items[key] or {};