NAME

App::Multigit::Repo - Moo class to represent a repo

DESCRIPTION

Holds the name and config for a repo, to make future chaining code cleaner.

You can curry objects is what I mean.

PROPERTIES

name

Name as in the key from the mgconfig file that defines this repo. As in, the URL.

It's called name because it doesn't have to be the URL, but is by default.

config

The config from the mgconfig file for this repo.

This is given a dir key if the config does not already specify one.

METHODS

run($command, [$stdout, [$stderr]])

Run a command, passing $stdout and $stderr to it.

If the command is a CODE ref, it is run with this Repo object, $stdout, and $stderr. The CODE reference should use normal print/say/warn/die behaviour. Its return value is discarded.

If it is an ARRAY ref, it is run with IO::Async::Process, with $stdout sent to the process's STDIN. $stderr is lost.

The process returns a Future that yields a new pair of STDOUT and STDERR strings.

AUTHOR

Alastair McGowan-Douglas, <altreus at perl.org>

BUGS

Please report bugs on the github repository https://github.com/Altreus/App-Multigit.

LICENSE

Copyright 2015 Alastair McGowan-Douglas.

This program is free software; you can redistribute it and/or modify it under the terms of the the Artistic License (2.0). You may obtain a copy of the full license at:

http://www.perlfoundation.org/artistic_license_2_0