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.90';
3 36     46   219 use strict;
  36         62  
  36         965  
4 36     46   166 use warnings;
  36         65  
  36         730  
5 36     36   151 use Carp;
  36         61  
  36         5299  
6              
7             sub AUTOLOAD {
8             # This AUTOLOAD is used to 'autoload' constants from the constant()
9             # XS function.
10              
11 10     10   15485 my $constname;
12 10         18 our $AUTOLOAD;
13 10         64 ($constname = $AUTOLOAD) =~ s/.*:://;
14 10 50       37 croak "&Git::Raw::Object::constant not defined" if $constname eq '_constant';
15 10         101 my ($error, $val) = _constant($constname);
16 10 50       28 if ($error) { croak $error; }
  0         0  
17             {
18 36     36   316 no strict 'refs';
  36         75  
  36         2886  
  10         13  
19 10     12   66 *$AUTOLOAD = sub { $val };
  12         1100  
20             }
21 10         39 goto &$AUTOLOAD;
22             }
23              
24 36     36   222 use Git::Raw;
  36         103  
  36         1416  
25              
26             =head1 NAME
27              
28             Git::Raw::Object - Git object
29              
30             =head1 VERSION
31              
32             version 0.90
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