summaryrefslogtreecommitdiff
path: root/misc/freeswitch/scripts/common/array.lua
diff options
context:
space:
mode:
authorStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-03-12 11:23:57 +0100
committerStefan Wintermeyer <stefan.wintermeyer@amooma.de>2013-03-12 11:23:57 +0100
commitb16aeeccff8de5fd579d79a48740df7a3e34e7bc (patch)
treebb2ddcb29c6a465d73a3010437bdd076d11360c9 /misc/freeswitch/scripts/common/array.lua
parent3c5a0511d228fb3dc00ae860ade1b8ff032cc42f (diff)
parent40b2feb99d75074319f371087c521df198527266 (diff)
Merge branch 'develop' of github.com:amooma/GS5 into develop
Diffstat (limited to 'misc/freeswitch/scripts/common/array.lua')
-rw-r--r--misc/freeswitch/scripts/common/array.lua27
1 files changed, 26 insertions, 1 deletions
diff --git a/misc/freeswitch/scripts/common/array.lua b/misc/freeswitch/scripts/common/array.lua
index b93ef69..5683dce 100644
--- a/misc/freeswitch/scripts/common/array.lua
+++ b/misc/freeswitch/scripts/common/array.lua
@@ -45,10 +45,35 @@ function expand_variable(variable_path, variable_sets)
end
end
-
+-- replace variables in a string by array values
function expand_variables(line, ...)
local variable_sets = {...};
return (line:gsub('{([%a%d%._]+)}', function(captured)
return expand_variable(captured, variable_sets);
end))
end
+
+
+-- concatenate array values
+function to_s(array, separator, prefix, suffix)
+ require 'common.str';
+
+ local buffer = '';
+ for key, value in pairs(array) do
+ buffer = common.str.append(buffer, value, separator, prefix, suffix);
+ end
+
+ return buffer;
+end
+
+-- concatenate array keys
+function keys_to_s(array, separator, prefix, suffix)
+ require 'common.str';
+
+ local buffer = '';
+ for key, value in pairs(array) do
+ buffer = common.str.append(buffer, key, separator, prefix, suffix);
+ end
+
+ return buffer;
+end