Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

git::repository::plugin(3pm) [debian man page]

Git::Repository::Plugin(3pm)				User Contributed Perl Documentation			      Git::Repository::Plugin(3pm)

NAME
Git::Repository::Plugin - Base class for Git::Repository plugins SYNOPSIS
package Git::Repository::Plugin::Hello; use Git::Repository::Plugin; our @ISA = qw( Git::Repository::Plugin ); sub _keywords { return qw( hello hello_gitdir ) } sub hello { return "Hello, git world! "; } sub hello_gitdir { return "Hello, " . $_[0]->git_dir . "! "; } 1; DESCRIPTION
"Git::Repository::Plugin" allows one to define new methods for "Git::Repository", that will be imported in the "Git::Repository" namespace. The SYNOPSIS provides a full example. The documentation of Git::Repository describes how to load plugins with all the methods they provide, or only a selection of them. METHODS
"Git::Repository::Plugin" provides a single method: install( @keywords ) Install all keywords provided in the "Git::Repository" namespace. If called with an empty list, will install all available keywords. SUBCLASSING
When creating a plugin, the new keywords that are added by the plugin to "Git::Repository" must be returned by a "_keywords()" method. AUTHOR
Philippe Bruhat (BooK), "<book at cpan.org>" ACKNOWLEDGEMENTS
Thanks to Todd Rinalo, who wanted to add more methods to "Git::Repository", which made me look for a solution that would preserve the minimalism of "Git::Repository". After a not-so-good design using @ISA (so "Git::Repository" would inherit the extra methods), further discussions with Aristotle Pagaltzis and a quick peek at Dancer's plugin management helped me come up with the current design. Thank you Aristotle and the Dancer team. Further improvements to the plugin system proposed by Aristotle Pagaltzis. COPYRIGHT
Copyright 2010 Philippe Bruhat (BooK). LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-12-28 Git::Repository::Plugin(3pm)

Check Out this Related Man Page

Test::Git(3pm)						User Contributed Perl Documentation					    Test::Git(3pm)

NAME
Test::Git - Helper functions for test scripts using Git SYNOPSIS
use Test::More; use Test::Git; # check there is a git binary available, or skip all has_git(); # check there is a minimum version of git available, or skip all has_git( '1.6.5' ); # check the git we want to test has a minimum version, or skip all has_git( '1.6.5', { git => '/path/to/alternative/git' } ); # normal plan plan tests => 2; # create a new, empty repository in a temporary location # and return a Git::Repository object my $r = test_repository(); # run some tests on the repository ... DESCRIPTION
"Test::Git" provides a number of helpful functions when running test scripts that require the creation and management of a Git repository. EXPORTED FUNCTIONS
has_git( $version, \%options ) Checks if there is a git binary available, or skips all tests. If the optional $version argument is provided, also checks if the available git binary has a version greater or equal to $version. This function also accepts an option hash of the same kind as those accepted by "Git::Repository" and "Git::Repository::Command". This function must be called before "plan()", as it performs a skip_all if requirements are not met. test_repository( %options ) Creates a new empty git repository in a temporary location, and returns a "Git::Repository" object pointing to it. This function takes options as a hash. Each key will influence a different part of the creation process. This call is the equivalent of the default call with no options: test_repository( temp => [ CLEANUP => 1 ], # File::Temp::tempdir options init => [], # git init options git => {}, # Git::Repository options ); To create a bare repository: test_repository( init => [ '--bare' ] ); To leave the repository in its location after the end of the test: test_repository( temp => [ CLEANUP => 0 ] ); AUTHOR
Philippe Bruhat (BooK), "<book at cpan.org>" COPYRIGHT
Copyright 2010-2011 Philippe Bruhat (BooK), all rights reserved. LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-12-28 Test::Git(3pm)
Man Page