summaryrefslogtreecommitdiffstats
path: root/lualib
diff options
context:
space:
mode:
Diffstat (limited to 'lualib')
-rw-r--r--lualib/lua_maps.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/lualib/lua_maps.lua b/lualib/lua_maps.lua
index e3ce2af20..d65481177 100644
--- a/lualib/lua_maps.lua
+++ b/lualib/lua_maps.lua
@@ -231,6 +231,12 @@ local function rspamd_map_add_from_ucl(opt, mtype, description, callback)
end
return nil
+ end,
+ foreach = function(t, cb)
+ return t.__data:foreach(cb)
+ end,
+ on_load = function(t, cb)
+ t.__data:on_load(cb)
end
}
local ret_mt = {
@@ -414,6 +420,20 @@ local function rspamd_map_add_from_ucl(opt, mtype, description, callback)
return nil
end
+ ret.foreach = function(_, func)
+ for k,v in pairs(ret.__data) do
+ if not func(k, v) then
+ return false
+ end
+ end
+
+ return true
+ end
+ ret.on_load = function(_, cb)
+ rspamd_config:add_on_load(function(_, _, _)
+ cb()
+ end)
+ end
maps_cache[cache_key] = ret
maybe_register_selector()