/** * @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 $file_path * @param string $content * @param string $commit_message * @return File */ public function updateFile($file_path, $content, $commit_message) { $data = $this->api('repositories')->updateFile($this->project->id, $file_path, $content, $this->name, $commit_message); return File::fromArray($this->getClient(), $this->project, $data); }
/** * @param string $file_path * @param string $content * @param string $branch_name * @param string $commit_message * @return File */ public function updateFile($file_path, $content, $branch_name, $commit_message) { $data = $this->api('repo')->updateFile($this->id, $file_path, $content, $branch_name, $commit_message); return File::fromArray($this->getClient(), $this, $data); }