| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- <?php
 
- /**
 
-  * Helper class to wrap an object with a modified interface created by
 
-  * a partial application of its existing methods.
 
-  *
 
-  * @category Services
 
-  * @package  Services_Twilio
 
-  * @author   Neuman Vong <neuman@twilio.com>
 
-  * @license  http://creativecommons.org/licenses/MIT/ MIT
 
-  * @link     http://pear.php.net/package/Services_Twilio
 
-  */ 
 
- class Services_Twilio_PartialApplicationHelper
 
- {
 
-     private $callbacks;
 
-     public function __construct()
 
-     {
 
-         $this->callbacks = array();
 
-     }
 
-     public function set($method, $callback, array $args)
 
-     {
 
-         if (!is_callable($callback)) {
 
-             return FALSE;
 
-         }
 
-         $this->callbacks[$method] = array($callback, $args);
 
-     }
 
-     public function __call($method, $args)
 
-     {
 
-         if (!isset($this->callbacks[$method])) {
 
-             throw new Exception("Method not found: $method");
 
-         }
 
-         list($callback, $cb_args) = $this->callbacks[$method];
 
-         return call_user_func_array(
 
-             $callback,
 
-             array_merge($cb_args, $args)
 
-         );
 
-     }
 
- }
 
 
  |