Files
compiled.world/lib/CW/Route.pm
2026-08-11 23:10:22 -06:00

53 lines
773 B
Perl

package CW::Route;
use Moo;
use Types::Standard qw(Str HashRef Undef);
use Carp ();
has path => (
is => 'ro',
required => 1,
isa => Str
);
has pkg => (
is => 'rw',
isa => Str
);
has _auth => (
is => 'rw',
isa => HashRef | Undef
);
has _action => (
is => 'rw',
isa => Str
);
sub action {
my ( $self, $action_definition ) = @_;
return $self->_action unless $action_definition;
my ( $pkg, $action ) = split( '#', $action_definition );
$pkg = "CW::Controller::$pkg";
eval "use $pkg";
$self->pkg($pkg);
$self->_action($action);
return $self;
}
sub auth {
my ( $self, $auth ) = @_;
return $self->_auth unless $auth;
$self->_auth($auth);
return $self;
}
1;