blib/lib/Valiemon.pm | |||
---|---|---|---|
Criterion | Covered | Total | % |
condition | 5 | 9 | 55.5 |
line | l | !l&&r | !l&&!r | condition |
---|---|---|---|---|
36 | 359 | 688 | 0 | $context //= 'Valiemon::Context'->new($self, $schema) |
60 | 693 | 203 | 0 | $self->{'prims'} //= 'Valiemon::Primitives'->new($self->options) |
80 | 0 | 0 | 45 | $self->ref_schema_cache($ref) || do { my $paths = do { my @p = split(m[/]u, $ref, 0); [splice(@p, 1)] }; my $sub_schema = $self->schema; { eval { do { $sub_schema = $sub_schema->{$_} foreach (@$paths) } }; croak(sprintf('referencing `%s` cause error', $ref)) if $@; croak(sprintf('schema `%s` not found', $ref)) unless $sub_schema; }; $self->ref_schema_cache($ref, $sub_schema); $sub_schema } |