From e05750bb88aaff0375f1027660cc73e9f5439d0a Mon Sep 17 00:00:00 2001 From: franck cuny Date: Sun, 13 Mar 2011 11:23:25 +0100 Subject: find and render a page for version 'master' Signed-off-by: franck cuny --- lib/ballet/Page.pm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 lib/ballet/Page.pm (limited to 'lib/ballet/Page.pm') 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; -- cgit 1.4.1