| blib/lib/Megaport/Internal/_Obj.pm | |||
|---|---|---|---|
| Criterion | Covered | Total | % |
| statement | 8 | 18 | 44.4 |
| branch | 0 | 4 | 0.0 |
| condition | n/a | ||
| subroutine | 3 | 8 | 37.5 |
| pod | 0 | 2 | 0.0 |
| total | 11 | 32 | 34.3 |
| line | stmt | bran | cond | sub | pod | time | code |
|---|---|---|---|---|---|---|---|
| 1 | package Megaport::Internal::_Obj; | ||||||
| 2 | |||||||
| 3 | 3 | 3 | 23 | use 5.10.0; | |||
| 3 | 7 | ||||||
| 4 | 3 | 3 | 10 | use strict; | |||
| 3 | 3 | ||||||
| 3 | 45 | ||||||
| 5 | 3 | 3 | 6 | use warnings; | |||
| 3 | 4 | ||||||
| 3 | 525 | ||||||
| 6 | |||||||
| 7 | our $AUTOLOAD; | ||||||
| 8 | |||||||
| 9 | sub new { | ||||||
| 10 | 0 | 0 | 0 | my ($class, %hash) = @_; | |||
| 11 | |||||||
| 12 | 0 | bless \%hash, $class; | |||||
| 13 | } | ||||||
| 14 | |||||||
| 15 | sub AUTOLOAD { | ||||||
| 16 | 0 | 0 | my ($self) = @_; | ||||
| 17 | 0 | my $command = $AUTOLOAD; | |||||
| 18 | 0 | $command =~ s/.*://; | |||||
| 19 | |||||||
| 20 | 0 | 0 | if ($self->can($command)) { | ||||
| 21 | 0 | $self->{$command}; | |||||
| 22 | } | ||||||
| 23 | } | ||||||
| 24 | |||||||
| 25 | sub can { | ||||||
| 26 | 0 | 0 | 0 | my ($self, $field) = @_; | |||
| 27 | |||||||
| 28 | return sub { | ||||||
| 29 | 0 | 0 | $self->{$field} | ||||
| 30 | 0 | 0 | } if $self->{$field}; | ||||
| 31 | } | ||||||
| 32 | |||||||
| 33 | 0 | sub DESTROY { } | |||||
| 34 | |||||||
| 35 | 1; | ||||||
| 36 | __END__ |