The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Myriad::Plugin - extensible Myriad functionality using attributes

DESCRIPTION

The plugin system allows sharing of various features between service implementations. Examples might include database or API access.

Plugins will be loaded automatically if an as-yet-unknown attribute is used.

For example, a hypothetical async method example : Reverse() { } service method definition would attempt to use the registered Reverse handler, and if none was found would proceed to load Myriad::Plugin::Reverse and try again.

METHODS

register

Example:

 has $db;
 register SQL => async method ($code, %args) {
  return sub ($srv, @args) {
   my ($sql, @bind) = $srv->$code(@args);
   return $db->query(
    $sql => @bind
   )->row_hashrefs
  }
 };

INHERITED METHODS

Object::Pad::UNIVERSAL

BUILDARGS

AUTHOR

Deriv Group Services Ltd. DERIV@cpan.org.

See "CONTRIBUTORS" in Myriad for full details.

LICENSE

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