App-Syndicator
view release on metacpan or search on metacpan
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,
);
has directory => (
is => 'rw',
isa => KiokuDB_T,
required => 1,
lazy_build => 1,
handles => [qw/lookup search store delete/]
);
has scope => (
is => 'rw',
isa => 'Object',
lazy_build => 1,
);
has total => (
is => 'rw',
isa => Int,
traits => ['Counter'],
default => 0,
handles => {
inc_total => 'inc',
dec_total => 'dec',
}
);
has unread => (
is => 'rw',
isa => Int,
default => 0,
traits => ['Counter'],
handles => {
inc_unread => 'inc',
dec_unread => 'dec',
}
);
method BUILD {
$self->directory(
KiokuDB->connect(
$self->dsn,
create => 1,
columns => [
is_read => {
data_type => "boolean",
is_nullable => 0,
},
is_deleted => {
data_type => "boolean",
( run in 3.739 seconds using v1.01-cache-2.11-cpan-140bd7fdf52 )