private function addMethod($method, $arguments = null)
{
if ($arguments === null) {
// empty
$this->methods[] = $method;
return $this;
}
if (func_num_args() >= 2) {
$arguments = func_get_args();
array_shift($arguments);
$argnames = array(str_replace('***', '%s', $method));
foreach ($arguments as $arg) {
$argname = 'arg' . count($this->arguments);
$this->arguments[$argname] = $arg;
$argnames[] = $argname;
}
$this->methods[] = call_user_func_array('sprintf', $argnames);
return $this;
}
// one argument
$argname = 'arg' . count($this->arguments);
$this->arguments[$argname] = $arguments;
$this->methods[] = str_replace('***', $argname, $method);
return $this;
}