/** * @param Client $client * @param Project $project * @param array $data * @return Branch */ public static function fromArray(Client $client, Project $project, array $data) { $branch = new static($project, $data['name'], $client); if (isset($data['commit'])) { $data['commit'] = Commit::fromArray($client, $project, $data['commit']); } return $branch->hydrate($data); }
/** * @param Client $client * @param Project $project * @param array $data * @return Comparison */ public static function fromArray(Client $client, Project $project, array $data) { $file = new static($project, $client); if (isset($data['commit'])) { $data['commit'] = Commit::fromArray($client, $project, $data['commit']); } if (isset($data['commits'])) { $commits = array(); foreach ($data['commits'] as $commit) { $commits[] = Commit::fromArray($client, $project, $commit); } $data['commits'] = $commits; } if (isset($data['diffs'])) { $diffs = array(); foreach ($data['diffs'] as $diff) { $diffs[] = Diff::fromArray($client, $project, $diff); } $data['diffs'] = $diffs; } return $file->hydrate($data); }
/** * @param string $sha * @return Commit */ public function commit($sha) { $data = $this->api('repo')->commit($this->id, $sha); return Commit::fromArray($this->getClient(), $this, $data); }