App-Syndicator
view release on metacpan or search on metacpan
"configure" : {
"requires" : {
"ExtUtils::MakeMaker" : "6.31"
}
},
"runtime" : {
"requires" : {
"Config::Any" : "0.20",
"Curses::UI" : "0.9607",
"DBD::SQLite" : "1.29",
"DateTime" : "0.61",
"Digest::MD5" : "2.39",
"HTML::FormatText::WithLinks" : "0.11",
"IO::All" : "0.41",
"JSON::Any" : "1.22",
"KiokuDB" : "0.49",
"KiokuDB::Backend::DBI" : "1.15",
"MooseX::ConfigFromFile" : "0.02",
"MooseX::Declare" : "0.33",
"MooseX::Getopt" : "0.31",
"MooseX::Types" : "0.23",
"MooseX::Types::DateTime" : "0.05",
"MooseX::Types::URI" : "0.02",
"Try::Tiny" : "0.06",
"XML::Feed::Aggregator" : "0.0400"
}
},
"test" : {
"requires" : {
"Test::More" : "0.94",
"Test::UseAllModules" : "0.12"
}
generated_by: 'Dist::Zilla version 4.102341, CPAN::Meta::Converter version 2.102400'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: 1.4
name: App-Syndicator
requires:
Config::Any: 0.20
Curses::UI: 0.9607
DBD::SQLite: 1.29
DateTime: 0.61
Digest::MD5: 2.39
HTML::FormatText::WithLinks: 0.11
IO::All: 0.41
JSON::Any: 1.22
KiokuDB: 0.49
KiokuDB::Backend::DBI: 1.15
MooseX::ConfigFromFile: 0.02
MooseX::Declare: 0.33
MooseX::Getopt: 0.31
MooseX::Types: 0.23
MooseX::Types::DateTime: 0.05
MooseX::Types::URI: 0.02
Try::Tiny: 0.06
XML::Feed::Aggregator: 0.0400
resources:
bugtracker: https://github.com/robinedwards/App-Syndicator/issues
homepage: http://search.cpan.org/~rge/App-Syndicator/lib/App/Syndicator.pm
repository: git://github.com/robinedwards/App-Syndicator.git
version: 0.0061
Makefile.PL view on Meta::CPAN
'DISTNAME' => 'App-Syndicator',
'EXE_FILES' => [
'scripts/syndicator'
],
'LICENSE' => 'perl',
'NAME' => 'App::Syndicator',
'PREREQ_PM' => {
'Config::Any' => '0.20',
'Curses::UI' => '0.9607',
'DBD::SQLite' => '1.29',
'DateTime' => '0.61',
'Digest::MD5' => '2.39',
'HTML::FormatText::WithLinks' => '0.11',
'IO::All' => '0.41',
'JSON::Any' => '1.22',
'KiokuDB' => '0.49',
'KiokuDB::Backend::DBI' => '1.15',
'MooseX::ConfigFromFile' => '0.02',
'MooseX::Declare' => '0.33',
'MooseX::Getopt' => '0.31',
'MooseX::Types' => '0.23',
'MooseX::Types::DateTime' => '0.05',
'MooseX::Types::URI' => '0.02',
'Try::Tiny' => '0.06',
'XML::Feed::Aggregator' => '0.0400'
},
'VERSION' => '0.0061',
'test' => {
'TESTS' => 't/*.t'
}
);
[@GitHub]
repo = App-Syndicator
cpan = 1
homepage = 1
[Prereqs]
MooseX::Declare = 0.33
MooseX::Types = 0.23
MooseX::Types::URI = 0.02
MooseX::Types::DateTime = 0.05
MooseX::Getopt = 0.31
MooseX::ConfigFromFile = 0.02
Config::Any = 0.20
JSON::Any = 1.22
HTML::FormatText::WithLinks = 0.11
Curses::UI = 0.9607
XML::Feed::Aggregator = 0.0400
KiokuDB = 0.49
KiokuDB::Backend::DBI = 1.15
DateTime = 0.61
Digest::MD5 = 2.39
DBD::SQLite = 1.29
Try::Tiny = 0.06
IO::All = 0.41
[Prereqs / TestRequires]
Test::More = 0.94
Test::UseAllModules = 0.12
lib/App/Syndicator/DB.pm view on Meta::CPAN
use MooseX::Declare;
class App::Syndicator::DB
with App::Syndicator::FeedReader {
use KiokuDB;
use DateTime;
use App::Syndicator::Message;
use App::Syndicator::Types qw/
KiokuDB_T Message_T
/;
use MooseX::Types::Moose qw/Str Int/;
has dsn => (
is => 'rw',
isa => Str,
required => 1,
lib/App/Syndicator/Message.pm view on Meta::CPAN
use MooseX::Declare;
class App::Syndicator::Message with App::Syndicator::HtmlToAscii {
use MooseX::Types::Moose qw/Str Bool/;
use MooseX::Types::URI 'Uri';
use MooseX::Types::DateTime;
use DateTime;
use App::Syndicator::Types ':all';
use Digest::MD5 'md5_base64';
has title => (
is => 'rw',
isa => Str,
lazy_build => 1,
required => 1,
);
lib/App/Syndicator/Message.pm view on Meta::CPAN
has id => (
isa => Str,
is => 'rw',
required => 1,
lazy_build => 1
);
has published => (
is => 'rw',
coerce => 1,
isa => 'DateTime',
lazy_build => 1,
required => 1
);
has format => (
is => 'rw',
isa => Str,
lazy_build => 1,
required => 1
);
lib/App/Syndicator/Message.pm view on Meta::CPAN
$self->author($entry->author)
if defined $entry->author;
my $title = $self->html_to_ascii($entry->title);
chomp $title;
$title =~ s/^\s+(.+)$/$1/;
$title =~ s/\s+/ /g;
$self->title($title);
$self->published(
$entry->modified || $entry->issued || DateTime->now
);
my $content = $entry->content->body;
my $summary = $entry->summary->body;
if (defined $content && length($content)) {
$self->body($self->html_to_ascii($content));
}
elsif (defined $summary && length($summary)) {
$self->body($self->html_to_ascii($summary))
lib/App/Syndicator/Types.pm view on Meta::CPAN
use MooseX::Declare;
class App::Syndicator::Types {
use Moose::Util::TypeConstraints;
use MooseX::Types::Moose qw/Object ArrayRef Str Int Bool/;
use MooseX::Types -declare=> [qw/
Entry_T DateTime_T UriArray Window_T Aggregator_T
DB_T Importer_T PositiveInt File
WritableFile TextViewer_T KiokuDB_T
Curses_T Output_T ListBox_T MessageBody_T MessageTitle_T
Message_T
/];
use MooseX::Types::URI 'Uri';
use MooseX::Types::DateTime 'DateTime';
use IO::All;
subtype UriArray,
as ArrayRef[Uri];
coerce UriArray,
from ArrayRef[Str],
via sub {
[ map { Uri->coerce($_) } @{$_[0]} ];
};
subtype DateTime_T,
as DateTime;
subtype File,
as Str,
where {
-f $_;
},
message {"\n\n This '$_' is not a file\n\n" };
subtype WritableFile,
as Str,
( run in 0.385 second using v1.01-cache-2.11-cpan-05444aca049 )