NAME

Myriad::Class - common pragmata for Myriad core modules

SYNOPSIS

 package Example::Class;
 use Myriad::Class;

 async method startup {
  $log->infof('Starting %s', __PACKAGE__);
 }

 1;

DESCRIPTION

Since Myriad is a framework, by default it attempts to enforce a common standard on all microservice modules. This same standard is used in most of the modules which comprise Myriad itself.

The following Perl language features and modules are applied:

In addition, the following core features are enabled:

The calling package will be marked as an Object::Pad class, providing the "method" in Object::Pad, "has" in Object::Pad and async method keywords.

This also makes available a Log::Any instance in the $log package variable, and for OpenTracing::Any support you get $tracer as an OpenTracing::Tracer instance.

It's very likely that future versions will bring in new functionality or enable/disable a different featureset. This behaviour will be controlled through version tags:

 use Myriad::Class qw(:v1);

with the default being :v1.

AUTHOR

Deriv Group Services Ltd. DERIV@cpan.org.

See "CONTRIBUTORS" in Myriad for full details.

LICENSE

Copyright Deriv Group Services Ltd 2020-2021. Licensed under the same terms as Perl itself.