File Coverage

blib/lib/GraphQL/Role/Listable.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition n/a
subroutine 7 7 100.0
pod n/a
total 25 25 100.0


line stmt bran cond sub pod time code
1              
2             use 5.014;
3 18     18   47376 use strict;
  18         63  
4 18     18   115 use warnings;
  18         32  
  18         323  
5 18     18   125 use Types::Standard -all;
  18         61  
  18         513  
6 18     18   91 use Moo::Role;
  18         31  
  18         133  
7 18     18   722746 use GraphQL::Type::List;
  18         43  
  18         203  
8 18     18   21790  
  18         50  
  18         144  
9             our $VERSION = '0.02';
10              
11             =head1 NAME
12              
13             GraphQL::Role::Listable - GraphQL object role
14              
15             =head1 SYNOPSIS
16              
17             with qw(GraphQL::Role::Listable);
18              
19             # or runtime
20             Role::Tiny->apply_roles_to_object($foo, qw(GraphQL::Role::Listable));
21              
22             =head1 DESCRIPTION
23              
24             Provides shortcut method for getting a type object's list wrapper.
25              
26             =head1 METHODS
27              
28             =head2 list
29              
30             Returns a wrapped version of the type using L<GraphQL::Type::List>.
31              
32             =cut
33              
34             has list => (
35             is => 'lazy',
36             isa => InstanceOf['GraphQL::Type::List'],
37             builder => sub { GraphQL::Type::List->new(of => $_[0]) },
38 122     122   173006 );
39              
40             __PACKAGE__->meta->make_immutable();
41              
42             1;