Skip to content

Instantly share code, notes, and snippets.

@meru-akimbo
Last active April 18, 2017 02:54
Show Gist options
  • Save meru-akimbo/2caba0c676e61700848d7727303290a9 to your computer and use it in GitHub Desktop.
Save meru-akimbo/2caba0c676e61700848d7727303290a9 to your computer and use it in GitHub Desktop.
payload around sample
use 5.18.0;
use strict;
use warnings;
package Job;
use Moose;
sub payload_trigger {
say "##### run trigger ####";
}
has payload => (
is => 'ro',
isa => 'HashRef',
#trigger => sub { payload_trigger }
trigger => \&payload_trigger
);
1;
package Job::Plugin;
use Moose::Role;
around 'payload_trigger' => sub {
say "##### run plugin trigger ####";
};
1;
use Moose::Util qw(apply_all_roles);
apply_all_roles( 'Job', 'Job::Plugin' );
my $job = Job->new(+{ payload => +{ test => 'hoge'}});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment