File Coverage

blib/lib/POEx/IRC/Backend/Role/HasWheel.pm
Criterion Covered Total %
statement 6 7 85.7
branch n/a
condition n/a
subroutine 2 3 66.6
pod n/a
total 8 10 80.0


line stmt bran cond sub pod time code
1             package POEx::IRC::Backend::Role::HasWheel;
2             $POEx::IRC::Backend::Role::HasWheel::VERSION = '0.030003';
3 3     3   2978 use Types::Standard -all;
  3         90352  
  3         35  
4              
5 3     3   100576 use Moo::Role;
  3         7  
  3         37  
6              
7             has wheel_id => (
8             # lazy but set by trigger in ->wheel:
9             lazy => 1,
10             isa => Defined,
11             is => 'ro',
12             writer => '_set_wheel_id',
13 0     0     builder => sub { shift->wheel->ID },
14             );
15              
16             has wheel => (
17             required => 1,
18             isa => Maybe[ InstanceOf['POE::Wheel'] ],
19             is => 'ro',
20             clearer => 'clear_wheel',
21             writer => 'set_wheel',
22             predicate => 'has_wheel',
23             trigger => sub {
24             my ($self, $wheel) = @_;
25             $self->_set_wheel_id( $wheel->ID )
26             },
27             );
28              
29             1;
30              
31             =pod
32              
33             =for Pod::Coverage has_\w+
34              
35             =head1 NAME
36              
37             POEx::IRC::Backend::Role::HasWheel
38              
39             =head1 DESCRIPTION
40              
41             =head2 wheel
42              
43             A L instance; typically L for
44             L and L objects,
45             or L for live L objects.
46              
47             This is primarily for internal use. B<< External code should not interact
48             directly with the C; >> doing so may result in misdelivered events and
49             other unexpected behavior.
50              
51             Clearer: B
52              
53             Predicate: B
54              
55             Writer: B
56              
57             =head2 wheel_id
58              
59             The POE ID of the last known L.
60              
61             =head1 AUTHOR
62              
63             Jon Portnoy
64              
65             =cut