App-Syndicator

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

      "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"
         }

META.yml  view on Meta::CPAN

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'
  }
);

dist.ini  view on Meta::CPAN


[@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 )