/**
  * @param Application $app
  * @param Closure[] $routes
  */
 public static function apply(Application $app, array $routes)
 {
     foreach ($routes as $pattern => $handler) {
         list($method, $pattern) = array_values(array_filter(explode(' ', $pattern)));
         $pattern = preg_replace('/@([\\w]+)/', '{$1}', $pattern);
         switch ($method) {
             case 'GET':
                 $app->get($pattern, $handler);
                 break;
             case 'POST':
                 $app->post($pattern, $handler);
                 break;
             case 'PUT':
                 $app->put($pattern, $handler);
                 break;
             case 'DELETE':
                 $app->delete($pattern, $handler);
                 break;
             case 'PATCH':
                 $app->patch($pattern, $handler);
                 break;
         }
     }
 }
 protected function update($pathRoot, $controller, $routeNamePrefix)
 {
     $path = $pathRoot . $this->methodPathBind['update'];
     $this->app->patch($path, $this->getAction($routeNamePrefix, $controller, 'update'));
 }
 /**
  * Register a route with the application.
  *
  * @param string $uri
  * @param mixed $action
  * @return $this 
  * @static 
  */
 public static function patch($uri, $action)
 {
     return \Laravel\Lumen\Application::patch($uri, $action);
 }