File Coverage

blib/lib/Git/Raw/Object.pm
Criterion Covered Total %
statement 25 26 96.1
branch 2 4 50.0
condition n/a
subroutine 7 7 100.0
pod n/a
total 34 37 91.8


line stmt bran cond sub pod time code
1             package Git::Raw::Object;
2             $Git::Raw::Object::VERSION = '0.86';
3 35     49   240 use strict;
  35         61  
  35         949  
4 35     35   161 use warnings;
  35         63  
  35         728  
5 35     35   159 use Carp;
  35         68  
  35         5445  
6              
7             sub AUTOLOAD {
8             # This AUTOLOAD is used to 'autoload' constants from the constant()
9             # XS function.
10              
11 10     10   23414 my $constname;
12 10         14 our $AUTOLOAD;
13 10         67 ($constname = $AUTOLOAD) =~ s/.*:://;
14 10 50       39 croak "&Git::Raw::Object::constant not defined" if $constname eq '_constant';
15 10         109 my ($error, $val) = _constant($constname);
16 10 50       71 if ($error) { croak $error; }
  0         0  
17             {
18 35     35   271 no strict 'refs';
  35         105  
  35         3000  
  10         17  
19 10     12   75 *$AUTOLOAD = sub { $val };
  12         1029  
20             }
21 10         44 goto &$AUTOLOAD;
22             }
23              
24 35     35   230 use Git::Raw;
  35         80  
  35         1312  
25              
26             =head1 NAME
27              
28             Git::Raw::Object - Git object
29              
30             =head1 VERSION
31              
32             version 0.86
33              
34             =head1 DESCRIPTION
35              
36             L provides a namespace for object constants.
37              
38             B: The API of this module is unstable and may change without warning
39             (any change will be appropriately documented in the changelog).
40              
41             =head1 METHODS
42              
43             =head2 id( )
44              
45             Retrieve the id of the object, as a string.
46              
47             =head2 lookup( $id )
48              
49             Retrieve the object corresponding to C<$id>. Returns a L.
50              
51             =head2 type( )
52              
53             Get the object type.
54              
55             =head1 CONSTANTS
56              
57             =head2 ANY
58              
59             Any
60              
61             =head2 BAD
62              
63             Invalid
64              
65             =head2 COMMIT
66              
67             Commit
68              
69             =head2 TREE
70              
71             Tree (directory listing)
72              
73             =head2 BLOB
74              
75             File revision (blob)
76              
77             =head2 TAG
78              
79             Annotated tag
80              
81             =head1 AUTHOR
82              
83             Jacques Germishuys
84              
85             =head1 LICENSE AND COPYRIGHT
86              
87             Copyright 2016 Jacques Germishuys.
88              
89             This program is free software; you can redistribute it and/or modify it
90             under the terms of either: the GNU General Public License as published
91             by the Free Software Foundation; or the Artistic License.
92              
93             See http://dev.perl.org/licenses/ for more information.
94              
95             =cut
96              
97             1; # End of Git::Raw::Object