diff options
author | Kim Alvefur <zash@zash.se> | 2017-03-15 15:07:16 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2017-03-15 15:07:16 +0100 |
commit | 054f116c7dbe356666a312ab0ea19dfa03050999 (patch) | |
tree | 6ab98da1f84c57b5f72a37be38cddae6762cef46 | |
parent | 1ea889fd172e633c5de06ee0e2c05ac1afd608c9 (diff) | |
download | prosody-054f116c7dbe356666a312ab0ea19dfa03050999.tar.gz prosody-054f116c7dbe356666a312ab0ea19dfa03050999.zip |
core.moduleapi: Factor out code for getting a scalar config option
-rw-r--r-- | core/moduleapi.lua | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/core/moduleapi.lua b/core/moduleapi.lua index 34214f26..7d954c1f 100644 --- a/core/moduleapi.lua +++ b/core/moduleapi.lua @@ -213,7 +213,7 @@ function api:get_option(name, default_value) 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 @@ function api:get_option_string(name, default_value) 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 @@ function api:get_option_string(name, default_value) 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 @@ function api:get_option_number(name, ...) 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 |