. * * @author Spencer Mortensen * @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL-3.0 * @copyright 2015 Datto, Inc. */ namespace Datto\JsonRpc\Examples; use Datto\JsonRpc\Evaluator; use Datto\JsonRpc\Exceptions\ArgumentException; use Datto\JsonRpc\Exceptions\MethodException; use Datto\JsonRpc\Examples\Library\Math; class Api implements Evaluator { public function evaluate($method, $arguments) { if ($method === 'add') { return self::add($arguments); } throw new MethodException(); } private static function add($arguments) { @list($a, $b) = $arguments; if (!is_int($a) || !is_int($b)) { throw new ArgumentException(); } return Math::add($a, $b); } }