File Coverage

blib/lib/Sentry/Integration.pm
Criterion Covered Total %
statement 33 33 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod 0 1 0.0
total 42 43 97.6


line stmt bran cond sub pod time code
1             package Sentry::Integration;
2 4     4   32 use Mojo::Base -base, -signatures;
  4         9  
  4         30  
3              
4 4     4   2407 use Sentry::Hub;
  4         12  
  4         33  
5 4     4   194 use Sentry::Hub::Scope;
  4         8  
  4         25  
6 4     4   2453 use Sentry::Integration::DBI;
  4         13  
  4         32  
7 4     4   2302 use Sentry::Integration::DieHandler;
  4         15  
  4         85  
8 4     4   2322 use Sentry::Integration::MojoUserAgent;
  4         14  
  4         26  
9 4     4   2305 use Sentry::Integration::MojoTemplate;
  4         12  
  4         28  
10 4     4   2047 use Sentry::Integration::LwpUserAgent;
  4         14  
  4         26  
11              
12             my @Global_integrations = (
13             Sentry::Integration::DieHandler->new,
14             Sentry::Integration::DBI->new,
15             Sentry::Integration::MojoUserAgent->new,
16             Sentry::Integration::MojoTemplate->new,
17             Sentry::Integration::LwpUserAgent->new,
18             );
19              
20 21     21 0 339 sub setup ($package, $custom_integrations = []) {
  21         34  
  21         32  
  21         29  
21 21         69 my @all_integrations = (@Global_integrations, $custom_integrations->@*);
22 21         48 foreach my $integration (grep { !$_->initialized } @all_integrations) {
  105         559  
23 15         265 $integration->setup_once(
24             Sentry::Hub::Scope->can('add_global_event_processor'),
25             Sentry::Hub->can('get_current_hub'));
26              
27 15         62 $integration->initialized(1);
28             }
29             }
30              
31             1;