package ballet::Page; use Mouse::Role; sub find_page { my ($self, $name, $version) = @_; $version ||= 'master'; my @output = $self->git_repo->run('ls-tree', $version); my @page = grep {$_ =~ /$name\./} @output; if (!@page) { die "blablabla"; } return $self->_format_page(shift @page); } sub _format_page { my ($self, $blob) = @_; my @line = split (/\s/, $blob); my @content = $self->git_repo->run('cat-file', '-p', $line[2]); return join("\n", @content); } 1;