Esempio n. 1
0
 /**
  * Retorna o utltimo id informado.
  * @return mixed
  */
 public static function getRouteId($name = null)
 {
     $route = $name === null ? Route::current() : Route::getRoutes()->getByName($name);
     $last = Str::last(Str::before($route->uri()));
     $id_name = Str::startsWith($last, '{') ? str_replace(['{', '}'], '', $last) : sprintf('%s_id', $last);
     return Route::input($id_name);
 }
Esempio n. 2
0
 /**
  * Registrar metodos do modelo.
  *
  * @param $uri
  * @param array $options
  * @param string $breadcrumbs
  */
 public static function register($uri, array $options = [])
 {
     $controller = '\\' . get_called_class();
     $methods = ['index', 'create', 'show', 'store', 'update', 'command', 'delete'];
     $methods = self::getResourceMethods($methods, $options);
     $id_name = array_key_exists('id_name', $options) ? $options['id_name'] : Str::last($uri) . '_id';
     $middlewares = array_key_exists('middlewares', $options) ? $options['middlewares'] : [];
     $middleware = array_key_exists('middleware', $options) ? (array) $options['middleware'] : [];
     // Index
     if (in_array('index', $methods)) {
         $args = ['uses' => $controller . '@apiIndex'];
         $middle = array_merge([], $middleware, isset($middlewares['index']) ? $middlewares['index'] : []);
         if (count($middle) > 0) {
             $args['middleware'] = $middle;
         }
         Route::get($uri, $args);
     }
     // Create
     if (in_array('create', $methods)) {
         $args = ['uses' => $controller . '@apiCreate'];
         $middle = array_merge([], $middleware, isset($middlewares['create']) ? $middlewares['create'] : []);
         if (count($middle) > 0) {
             $args['middleware'] = $middle;
         }
         Route::get($uri . '/create', $args);
     }
     // Show
     if (in_array('show', $methods)) {
         $args = ['uses' => $controller . '@apiShow'];
         $middle = array_merge([], $middleware, isset($middlewares['show']) ? $middlewares['show'] : []);
         if (count($middle) > 0) {
             $args['middleware'] = $middle;
         }
         Route::get($uri . '/{' . $id_name . '}', $args)->where([$id_name => '[0-9]+']);
     }
     // Store
     if (in_array('store', $methods)) {
         $args = ['uses' => $controller . '@apiStore'];
         $middle = array_merge([], $middleware, isset($middlewares['store']) ? $middlewares['store'] : []);
         if (count($middle) > 0) {
             $args['middleware'] = $middle;
         }
         Route::post($uri, $args);
     }
     // Update
     if (in_array('update', $methods)) {
         $args = ['uses' => $controller . '@apiUpdate'];
         $middle = array_merge([], $middleware, isset($middlewares['update']) ? $middlewares['update'] : []);
         if (count($middle) > 0) {
             $args['middleware'] = $middle;
         }
         Route::post($uri . '/{' . $id_name . '}', $args)->where([$id_name => '[0-9]+']);
     }
     // Command
     if (in_array('command', $methods)) {
         $args = ['uses' => $controller . '@apiCommand'];
         $middle = array_merge([], $middleware, isset($middlewares['command']) ? $middlewares['command'] : []);
         if (count($middle) > 0) {
             $args['middleware'] = $middle;
         }
         Route::post($uri . '/{' . $id_name . '}/{command}', $args)->where([$id_name => '[0-9]+']);
     }
     // Delete
     if (in_array('delete', $methods)) {
         $args = ['uses' => $controller . '@apiDelete'];
         $middle = array_merge([], $middleware, isset($middlewares['delete']) ? $middlewares['delete'] : []);
         if (count($middle) > 0) {
             $args['middleware'] = $middle;
         }
         Route::delete($uri . '/{ids}', $args);
     }
 }
Esempio n. 3
0
 public function testLast()
 {
     $str = Str::last('NetForce/Sistemas/Ultima');
     $this->assertEquals('Ultima', $str);
 }