—use
MooseX::Declare;
class App::Syndicator
with
(App::Syndicator::Config,
MooseX::Getopt::Dashes) {
our
$BASE
=
"$ENV{HOME}/.syndicator"
;
has
+
configfile
=> (
is
=>
'ro'
,
isa
=> File,
required
=> 1,
default
=>
"$BASE/config.json"
);
has
sources
=> (
is
=>
'rw'
,
isa
=> UriArray,
coerce
=> 1,
required
=> 1,
);
method run {
my
$db
= App::Syndicator::DB->new(
dsn
=>
"DBI:SQLite:dbname=$BASE/main.db"
,
sources
=>
$self
->sources,
);
my
$ui
= App::Syndicator::UI->new(
db
=>
$db
,
);
$ui
->mainloop;
}
}
1;
__END__
=head1 NAME
App::Syndicator - Curses interface for reading RSS / ATOM feeds.
=head1 USAGE
# first run
$ syndicator --init
# add your own feeds
$ vim ~/.syndicator/config.json
# run
$ syndicator 2> errors.log
=head2 EXAMPLE CONFIG
{
"sources": [
]
}
=head1 SEE ALSO
XML::Feed::Aggregator
=head1 AUTHOR
Rob Edwards, E<lt>rge@cpan.orgE<gt>
=head1 COPYRIGHT AND LICENSE
Copyright (C) 2010 by Rob Edwards
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.12.1 or,
at your option, any later version of Perl 5 you may have available.
=cut