use v5.36; #use Feature::Compat::Class 0.07; use Object::Pad 0.78 qw(:experimental(custom_field_attr)); package Object::Groupware 0.01; class Object::Groupware; use utf8; use Log::Any qw( ); field $log = Log::Any->get_logger; field $dt_locale : param : reader = undef; field $dt_time_zone : param : reader = undef; field $dt_span_time_prefix : param : reader = ''; ADJUST { if ( defined $self->dt_locale and not $self->dt_locale isa DateTime::Locale::FromData ) { $dt_locale = DateTime::Locale->load( $self->dt_locale ); $log->debugf( 'Coerced object %s locale: %s (%s)', __CLASS__, $self->dt_locale->code, $self->dt_locale->name ); } if ( defined $self->dt_time_zone and not $self->dt_time_zone isa DateTime::TimeZone ) { $dt_time_zone = DateTime::TimeZone->new( name => $self->dt_time_zone ); $log->debugf( 'Coerced object %s time zone: %s', __CLASS__, $self->dt_time_zone->name ); } } 1;