File Coverage

blib/lib/Sentry/SourceFileRegistry.pm
Criterion Covered Total %
statement 30 30 100.0
branch 3 4 75.0
condition n/a
subroutine 7 7 100.0
pod 0 1 0.0
total 40 42 95.2


line stmt bran cond sub pod time code
1             package Sentry::SourceFileRegistry;
2 7     7   1104 use Mojo::Base -base, -signatures;
  7         18  
  7         52  
3              
4 7     7   2279 use Mojo::File;
  7         19  
  7         480  
5 7     7   43 use Mojo::Util 'dumper';
  7         22  
  7         364  
6 7     7   2836 use Sentry::Cache;
  7         20  
  7         45  
7 7     7   4095 use Sentry::SourceFileRegistry::ContextLine;
  7         33  
  7         50  
8              
9             has _cache => sub { Sentry::Cache->get_instance };
10              
11 5     5   38 sub _get_cached_context_line ($self, $file) {
  5         9  
  5         8  
  5         7  
12 5 100       12 if (!$self->_cache->exists($file)) {
13 2 50       133 my $content = -e $file ? Mojo::File->new($file)->slurp : undef;
14              
15 2         21 my $context
16             = Sentry::SourceFileRegistry::ContextLine->new(content => $content);
17              
18 2         16 $self->_cache->set($file, $context);
19             }
20              
21 5         29 return $self->_cache->get($file);
22             }
23              
24 5     5 0 453226 sub get_context_lines ($self, $file, $line) {
  5         7  
  5         12  
  5         6  
  5         7  
25 5         13 return $self->_get_cached_context_line($file)->get($line);
26             }
27              
28             1;