summary refs log tree commit diff
path: root/lib/ballet/Page.pm
diff options
context:
space:
mode:
authorfranck cuny <franck@lumberjaph.net>2011-03-13 11:23:25 +0100
committerfranck cuny <franck@lumberjaph.net>2011-03-13 11:23:25 +0100
commite05750bb88aaff0375f1027660cc73e9f5439d0a (patch)
treed15cd96e97da03778666faaae00c64619b0eaa88 /lib/ballet/Page.pm
parentinitial import (diff)
downloadballet-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.pm25
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;