package App::GitHubWebhooks2Ikachan::Events::PullRequest;
use strict;
use warnings;
use utf8;
use String::IRC;
sub call {
my ($class, $context) = @_;
my $pull_request = $context->dat->{pull_request};
my $pull_request_title = $pull_request->{title};
my $user_name = $pull_request->{user}->{login};
my $url = $pull_request->{html_url};
my $action = $context->dat->{action};
my $subscribe_actions = $context->req->param('pull_request');
if (
!$subscribe_actions || # Allow all actions
grep { $_ eq $action } split(/,/, $subscribe_actions) # Filter by specified actions
) {
my $main_text = "[pull request $action (#$pull_request->{number})] $pull_request_title (\@$user_name)";
return String::IRC->new($main_text)->green . " $url";
}
return; # Not match any actions
}
1;