Exemple #1
0
 /**
  * @param string $verbName
  * @param Tag $tag
  */
 public function addVerb($verbName, $tag)
 {
     $in = \Yii::$app->controller->module->defaultInput;
     $verb = new Verb($verbName, $this->action, $in);
     $verb->tags->add($tag);
     $this->verbs->add($verb);
 }
 /**
  * @param Parameter $parameter
  */
 public function addPropertyFromParameter($parameter)
 {
     $property = new Property();
     $property->name = $parameter->name;
     $property->type = $parameter->type;
     $this->properties->add($property);
 }
Exemple #3
0
 /**
  * @param Action $action
  */
 public function handleAction($action)
 {
     $lastTag = $this->tags->last();
     $path = new Path($action);
     $verbs = $this->getVerbsForAction($action);
     foreach ($verbs as $verb) {
         $path->addVerb($verb, $lastTag);
     }
     $this->paths->add($path);
 }
Exemple #4
0
 /**
  * Create definitions if need
  * @throws \yii\base\InvalidConfigException
  */
 private function buildDefinitions()
 {
     if ($this->in != 'body') {
         return;
     }
     $def = new Definition($this->action);
     // get parameters and make of them a properties for definition
     foreach ($this->parameters as $id => $parameter) {
         /** @var  Parameter $parameter  */
         if ($parameter->in != 'body') {
             continue;
         }
         $this->parameters->delete($parameter);
         $def->addPropertyFromParameter($parameter);
     }
     Yii::$app->get('doc')->definitions->add($def);
     // we must create parameter with Schema for definition
     $parameter = new Parameter();
     $parameter->buildForDefinition($def);
     $this->parameters->add($parameter);
 }