Revision Class
has 'storage' => (
is => 'ro',
isa => Dir,
required => 1,
coerce => 1,
);
has 'filename' => (
is => 'ro',
isa => 'Str',
required => 1,
);
has 'author' => (
is => 'ro',
isa => 'Str',
required => 1,
);
subtype DateTime
=> as Class
=> where { blessed $_ && $_->isa('DateTime') };
coerce DateTime
=> as Num
=> via { DateTime->from_epoch( epoch => $_ ) };
has 'date' => (
is => 'ro',
isa => 'DateTime',
coerce => 1,
required => 1,
);
has 'content' => (
is => 'rw',
isa => 'Str',
default => sub { shift->_read_content },
lazy => 1,
);