/** * @param Client $client * @param Project $project * @param array $data * @return MergeRequest */ public static function fromArray(Client $client, Project $project, array $data) { $mr = new static($project, $data['id'], $client); if (isset($data['author'])) { $data['author'] = User::fromArray($client, $data['author']); } if (isset($data['assignee'])) { $data['assignee'] = User::fromArray($client, $data['assignee']); } if (isset($data['milestone'])) { $data['milestone'] = Milestone::fromArray($client, $project, $data['milestone']); } if (isset($data['files'])) { $files = array(); foreach ($data['files'] as $file) { $files[] = File::fromArray($client, $project, $file); } $data['files'] = $files; } return $mr->hydrate($data); }
/** * @param string $title * @param array $params * @return Milestone */ public function createMilestone($title, array $params = array()) { $params['title'] = $title; $data = $this->api('milestones')->create($this->id, $params); return Milestone::fromArray($this->getClient(), $this, $data); }