File Coverage

blib/lib/KiokuDB/Role/API.pm
Criterion Covered Total %
statement 6 6 100.0
branch n/a
condition n/a
subroutine 2 2 100.0
pod n/a
total 8 8 100.0


line stmt bran cond sub pod time code
1             package KiokuDB::Role::API;
2 12     12   7221 use Moose::Role;
  12         21  
  12         112  
3              
4 12     12   51939 use namespace::clean -except => 'meta';
  12         25  
  12         111  
5              
6             requires qw(
7             new_scope
8             txn_do
9             scoped_txn
10              
11             lookup
12              
13             exists
14              
15             store store_nonroot
16              
17             insert insert_nonroot
18             update
19             deep_update
20              
21             delete
22              
23             is_root
24              
25             set_root
26             unset_root
27              
28             search
29              
30             all_objects
31             root_set
32              
33             grep
34             scan
35              
36             clear_live_objects
37              
38             new_scope
39              
40             object_to_id
41             objects_to_ids
42              
43             id_to_object
44             ids_to_objects
45              
46             live_objects
47              
48             directory
49             );
50              
51             __PACKAGE__
52              
53             __END__
54              
55             =pod
56              
57             =head1 NAME
58              
59             KiokuDB::Role::API - Role for L<KiokuDB> api (used to setup delegations).
60              
61             =head1 SYNOPSIS
62              
63             has directory => (
64             isa => "KiokuDB",
65             handles => "KiokuDB::Role::API",
66             );
67              
68             =head1 DESCRIPTION
69              
70             This role provides C<requires> declarations for the runtime methods of
71             L<KiokuDB>. This is useful for setting up delegations.
72              
73             This is used in e.g. L<KiokuX::User>.
74              
75             =head1 METHODS
76              
77             =over 4
78              
79             =item new_scope
80              
81             =item txn_do
82              
83             =item lookup
84              
85             =item exists
86              
87             =item store
88              
89             =item insert
90              
91             =item update
92              
93             =item deep_update
94              
95             =item delete
96              
97             =item is_root
98              
99             =item set_root
100              
101             =item unset_root
102              
103             =item search
104              
105             =item all_objects
106              
107             =item root_set
108              
109             =item grep
110              
111             =item scan
112              
113             =item clear_live_objects
114              
115             =item new_scope
116              
117             =item object_to_id
118              
119             =item objects_to_ids
120              
121             =item id_to_object
122              
123             =item ids_to_objects
124              
125             =item live_objects
126              
127             =item directory
128              
129             The C<directory> method should be used to fetch the actual L<KiokuDB> delegate.
130             This will work no matter how deeply it is nested.
131              
132             =back