/**
  * Get Transformer
  *
  * @param sting $element_type Element Type
  *
  * @return League\Fractal\TransformerAbstract Transformer
  */
 public function getTransformer(Request $request)
 {
     $transformer = $request->getRoute()->getConfig('transformer', 'rest');
     if (!isset($transformer)) {
         $exception = new HttpMessagesException();
         $exception->setStatus(415)->setMessage(sprintf('A transformer for the `%s` element type is not defined.', $element_type));
         throw $exception;
     }
     return new $transformer();
 }
 /**
  * Delete Element
  *
  * @param Request $request Request
  *
  * @return void
  */
 public function deleteElement(Request $request)
 {
     \Craft\craft()->elements->deleteElementById($request->getAttribute('elementId'));
 }
 /**
  * Get Elements
  *
  * @param Request $request Request
  *
  * @return array Elements
  */
 public function getElements(Request $request)
 {
     return $this->element_service->getElements($request->getCriteria());
 }