package DeWeave::BO::History; use Moose; use namespace::autoclean; use MooseX::Types::Moose qw(Str ArrayRef Int); use MooseX::Types::Structured qw(Dict); extends 'DeWeave::EDO'; has histUri => ( isa => Str, required => 1, is => 'ro', ); has title => ( isa => Str, required => 0, is => 'ro', ); has visits => ( isa => ArrayRef[Dict[date => Int, type => Int]], required => 1, is => 'ro', ); { my @visit_types=( undef, 'link', 'typed', 'bookmark', 'embed', 'redirect_permanent', 'redirect_temporary', 'download', 'framed_link', ); sub visit_type { my ($self,$type_int) = @_; if ($type_int > 0 && $type_int < @visit_types) { return $visit_types[$type_int]; } return undef; } } 1;