Add a server script for the test data as I'm lazy :)
[catagits/Gitalist.git] / lib / Gitalist / Controller / OPML.pm
CommitLineData
12a0f9d3 1package Gitalist::Controller::OPML;
2
3use Moose;
4use Moose::Autobox;
5
6use Sys::Hostname qw/hostname/;
7use XML::OPML::SimpleGen;
8
9use namespace::autoclean;
10
11BEGIN { extends 'Gitalist::Controller' }
12
13sub opml : Chained('base') Args(0) {
14 my ($self, $c) = @_;
15
16 my $opml = XML::OPML::SimpleGen->new();
17
18 $opml->head(title => lc(hostname()) . ' - ' . blessed($c)->config->{name});
19
20 for my $repos ( $c->model()->repositories->flatten ) {
21 $opml->insert_outline(
22 text => $repos->name. ' - '. $repos->description,
23 xmlUrl => $c->uri_for_action('/repository/rss', [$repos->name]),
24 );
25 }
26
27 $c->response->body($opml->as_string);
28 $c->response->content_type('application/rss');
29}
30
31__PACKAGE__->meta->make_immutable;