Example #1
0
 /**
  * @param $id
  * @return ExecutionResult
  */
 public function execute($id)
 {
     try {
         $action = $this->actions->getAction($id);
         list($params, $missing) = $this->readParameters($action);
         if (!empty($missing)) {
             return new MissingParametersResult($missing);
         }
         if ($this->access && !$this->access->isExecutionPermitted($id, $params)) {
             return new NotPermittedResult();
         }
         $returned = $action->execute($params);
         if (is_null($returned)) {
             return new NoResult();
         } else {
             if ($returned instanceof ExecutionResult) {
                 return $returned;
             } else {
                 return new RenderedResult($this->render($returned));
             }
         }
     } catch (\Exception $e) {
         return new FailedResult($e);
     }
 }
 private function given_MayBeExecutedWith($actionId, $parameters)
 {
     Mockster::stub($this->access->isExecutionPermitted($actionId, $parameters))->will()->return_(true);
 }
Example #3
0
 /**
  * @param string $actionId
  * @param mixed[] $parameters indexed by parameter names
  * @return boolean
  */
 public function isExecutionPermitted($actionId, array $parameters)
 {
     return $this->access->isExecutionPermitted($actionId, $parameters);
 }