diff options
author | franck cuny <franck@lumberjaph.net> | 2011-03-13 11:23:25 +0100 |
---|---|---|
committer | franck cuny <franck@lumberjaph.net> | 2011-03-13 11:23:25 +0100 |
commit | e05750bb88aaff0375f1027660cc73e9f5439d0a (patch) | |
tree | d15cd96e97da03778666faaae00c64619b0eaa88 /lib/ballet/Page.pm | |
parent | initial import (diff) | |
download | ballet-e05750bb88aaff0375f1027660cc73e9f5439d0a.tar.gz |
find and render a page for version 'master'
Signed-off-by: franck cuny <franck@lumberjaph.net>
Diffstat (limited to '')
-rw-r--r-- | lib/ballet/Page.pm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/ballet/Page.pm b/lib/ballet/Page.pm new file mode 100644 index 0000000..7eafa90 --- /dev/null +++ b/lib/ballet/Page.pm @@ -0,0 +1,25 @@ +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; |