]> git.vpit.fr Git - perl/modules/rgit.git/blob - lib/App/Rgit/Guard.pm
Make sure we chdir to the original directory at the end of App::Rgit::Command::Each...
[perl/modules/rgit.git] / lib / App / Rgit / Guard.pm
1 package App::Rgit::Guard;
2
3 use strict;
4 use warnings;
5
6 =head1 NAME
7
8 App::Rgit::Guard - Scope guard helper for App::Rgit.
9
10 =head1 VERSION
11
12 Version 0.06
13
14 =cut
15
16 our $VERSION = '0.06';
17
18 =head1 DESCRIPTION
19
20 This class implements a simple scope guard object.
21
22 This is an internal module to L<rgit>.
23
24 =head1 METHODS
25
26 =head2 C<new $callback>
27
28 Creates a new C<App::Rgit::Guard> object that will call C<$callback> when it is destroyed.
29
30 =cut
31
32 sub new {
33  my $class = shift;
34  $class = ref $class || $class;
35
36  bless \($_[0]), $class;
37 }
38
39 =head2 C<DESTROY>
40
41 Invokes the callback when the guard object goes out of scope.
42
43 =cut
44
45 sub DESTROY { ${$_[0]}->() }
46
47 =head1 SEE ALSO
48
49 L<rgit>.
50
51 =head1 AUTHOR
52
53 Vincent Pit, C<< <perl at profvince.com> >>, L<http://profvince.com>.
54
55 You can contact me by mail or on C<irc.perl.org> (vincent).
56
57 =head1 BUGS
58
59 Please report any bugs or feature requests to C<bug-rgit at rt.cpan.org>, or through the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=rgit>.  I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
60
61 =head1 SUPPORT
62
63 You can find documentation for this module with the perldoc command.
64
65     perldoc App::Rgit::Guard
66
67 =head1 COPYRIGHT & LICENSE
68
69 Copyright 2008,2009,2010 Vincent Pit, all rights reserved.
70
71 This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
72
73 =cut
74
75 1; # End of App::Rgit::Guard