File Coverage

blib/lib/WWW/Asana/User.pm
Criterion Covered Total %
statement 4 6 66.6
branch n/a
condition n/a
subroutine 2 4 50.0
pod 0 2 0.0
total 6 12 50.0


line stmt bran cond sub pod time code
1             package WWW::Asana::User;
2             BEGIN {
3 1     1   2033 $WWW::Asana::User::AUTHORITY = 'cpan:GETTY';
4             }
5             {
6             $WWW::Asana::User::VERSION = '0.003';
7             }
8             # ABSTRACT: Asana User Class
9              
10 1     1   9 use MooX;
  1         2  
  1         9  
11              
12             with 'WWW::Asana::Role::HasClient';
13             with 'WWW::Asana::Role::HasResponse';
14             with 'WWW::Asana::Role::NewFromResponse';
15              
16             with 'WWW::Asana::Role::CanReload';
17             # CanNotUpdate
18             # CanNotCreate
19             # CanNotDelete
20              
21 0     0 0   sub own_base_args { 'users', shift->id }
22 0     0 0   sub reload_base_args { 'User', 'GET' }
23              
24             has id => (
25             is => 'ro',
26             required => 1,
27             );
28              
29             has name => (
30             is => 'ro',
31             predicate => 1,
32             );
33              
34             has email => (
35             is => 'ro',
36             predicate => 1,
37             );
38              
39             has workspaces => (
40             is => 'ro',
41             isa => sub {
42             die "workspaces must be an ArrayRef" unless ref $_[0] eq 'ARRAY';
43             die "workspaces must be an ArrayRef of WWW::Asana::Workspace" if grep { ref $_ ne 'WWW::Asana::Workspace' } @{$_[0]};
44             },
45             predicate => 1,
46             );
47              
48             1;
49              
50             __END__