Software /
code /
prosody
Diff
core/moduleapi.lua @ 7975:c64ddee9d671
core.moduleapi: Factor out code for getting a scalar config option
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 15 Mar 2017 15:07:16 +0100 |
parent | 7947:24170d74b00b |
child | 7982:e30b0cbed472 |
line wrap: on
line diff
--- a/core/moduleapi.lua Sun Mar 12 12:49:34 2017 +0100 +++ b/core/moduleapi.lua Wed Mar 15 15:07:16 2017 +0100 @@ -213,7 +213,7 @@ return value; end -function api:get_option_string(name, default_value) +function api:get_option_scalar(name, default_value) local value = self:get_option(name, default_value); if type(value) == "table" then if #value > 1 then @@ -221,6 +221,11 @@ end value = value[1]; end + return value; +end + +function api:get_option_string(name, default_value) + local value = self:get_option_scalar(name, default_value); if value == nil then return nil; end @@ -228,13 +233,7 @@ end function api:get_option_number(name, ...) - local value = self:get_option(name, ...); - if type(value) == "table" then - if #value > 1 then - self:log("error", "Config option '%s' does not take a list, using just the first item", name); - end - value = value[1]; - end + local value = self:get_option_scalar(name, ...); local ret = tonumber(value); if value ~= nil and ret == nil then self:log("error", "Config option '%s' not understood, expecting a number", name); @@ -243,13 +242,7 @@ end function api:get_option_boolean(name, ...) - local value = self:get_option(name, ...); - if type(value) == "table" then - if #value > 1 then - self:log("error", "Config option '%s' does not take a list, using just the first item", name); - end - value = value[1]; - end + local value = self:get_option_scalar(name, ...); if value == nil then return nil; end