extends 'Catalyst::Authentication::User';
use List::MoreUtils 'all';
+use Try::Tiny;
has 'config' => (is => 'rw');
has 'resultset' => (is => 'rw');
if (my $code = $self->_user->can($field)) {
return $self->_user->$code;
}
- elsif (my $accessor = $self->_user->result_source->column_info($field)->{accessor}) {
+ elsif (my $accessor =
+ try { $self->_user->result_source->column_info($field)->{accessor} }) {
return $self->_user->$accessor;
} else {
+ # XXX this should probably throw
return undef;
}
}
(my $method) = (our $AUTOLOAD =~ /([^:]+)$/);
return if $method eq "DESTROY";
- if (my $code = $self->_user->can($method)) {
- $self->_user->$code(@_);
- }
- elsif (my $accessor = $self->_user->result_source->column_info($method)->{accessor}) {
- $self->_user->$accessor(@_);
- }
+ return $self->get($method);
}
__PACKAGE__->meta->make_immutable(inline_constructor => 0);