if proc_name:match('^__') then
-- Special case - method
local method_name = proc_name:match('^__(.*)$')
+ -- Check array indexing...
+ if tonumber(method_name) then
+ method_name = tonumber(method_name)
+ end
local processor = {
- name = method_name,
+ name = tostring(method_name),
method = true,
args = proc_tbl[2] or E,
types = {
if not transform_function[proc_name] then
logger.errx(cfg, 'processor %s is unknown', proc_name)
- pipeline_error = true
+ pipeline_error = proc_name
return nil
end
local processor = lua_util.shallowcopy(transform_function[proc_name])
processor.args = proc_tbl[2] or E
if not check_args(processor.name, processor.args_schema, processor.args) then
- pipeline_error = true
+ pipeline_error = 'args schema for ' .. proc_name
return nil
end
end, fun.tail(sel))
if pipeline_error then
- logger.errx(cfg, 'unknown or invalid processor used, exiting')
+ logger.errx(cfg, 'unknown or invalid processor used: "%s", exiting', pipeline_error)
return nil
end
selector = "words('norm')",
expect = {{'hello', 'world', 'mail', 'me'}}
},
+ ["words_full"] = {
+ selector = "words('full'):2",
+ expect = {{'hello', 'world', '', 'mail', 'me'}}
+ },
}
for case_name, case in pairs(cases) do