@@ -74,6 +74,14 @@ function _M.new(self)
74
74
end
75
75
76
76
77
+ function _M .register_module_prefix (mod )
78
+ _M [mod ] = function (self )
79
+ self ._module_prefix = mod
80
+ return self
81
+ end
82
+ end
83
+
84
+
77
85
function _M .set_timeout (self , timeout )
78
86
local sock = rawget (self , " _sock" )
79
87
if not sock then
@@ -446,12 +454,23 @@ function _M.read_reply(self)
446
454
end
447
455
448
456
457
+ local function do_cmd (self , cmd , ...)
458
+ local module_prefix = rawget (self , " _module_prefix" )
459
+ if module_prefix then
460
+ self ._module_prefix = nil
461
+ return _do_cmd (self , module_prefix .. " ." .. cmd , ... )
462
+ end
463
+
464
+ return _do_cmd (self , cmd , ... )
465
+ end
466
+
467
+
449
468
for i = 1 , # common_cmds do
450
469
local cmd = common_cmds [i ]
451
470
452
471
_M [cmd ] =
453
472
function (self , ...)
454
- return _do_cmd (self , cmd , ... )
473
+ return do_cmd (self , cmd , ... )
455
474
end
456
475
end
457
476
663
682
setmetatable (_M , {__index = function (self , cmd )
664
683
local method =
665
684
function (self , ...)
666
- return _do_cmd (self , cmd , ... )
685
+ return do_cmd (self , cmd , ... )
667
686
end
668
687
669
688
-- cache the lazily generated method in our
0 commit comments