The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<html><head><title>Footprintless::Mixins</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >

<style type="text/css">
 <!--/*--><![CDATA[/*><!--*/
BODY {
  background: white;
  color: black;
  font-family: arial,sans-serif;
  margin: 0;
  padding: 1ex;
}

A:link, A:visited {
  background: transparent;
  color: #006699;
}

A[href="#POD_ERRORS"] {
  background: transparent;
  color: #FF0000;
}

DIV {
  border-width: 0;
}

DT {
  margin-top: 1em;
  margin-left: 1em;
}

.pod { margin-right: 20ex; }

.pod PRE     {
  background: #eeeeee;
  border: 1px solid #888888;
  color: black;
  padding: 1em;
  white-space: pre;
}

.pod H1      {
  background: transparent;
  color: #006699;
  font-size: large;
}

.pod H1 A { text-decoration: none; }
.pod H2 A { text-decoration: none; }
.pod H3 A { text-decoration: none; }
.pod H4 A { text-decoration: none; }

.pod H2      {
  background: transparent;
  color: #006699;
  font-size: medium;
}

.pod H3      {
  background: transparent;
  color: #006699;
  font-size: medium;
  font-style: italic;
}

.pod H4      {
  background: transparent;
  color: #006699;
  font-size: medium;
  font-weight: normal;
}

.pod IMG     {
  vertical-align: top;
}

.pod .toc A  {
  text-decoration: none;
}

.pod .toc LI {
  line-height: 1.2em;
  list-style-type: none;
}

  /*]]>*/-->
</style>


</head>
<body class='pod'>
<!--
  generated by Pod::Simple::HTML v3.32,
  using Pod::Simple::PullParser v3.32,
  under Perl v5.025000 at Tue Feb 13 13:45:26 2018 GMT.

 If you want to change this HTML document, you probably shouldn't do that
   by changing it directly.  Instead, see about changing the calling options
   to Pod::Simple::HTML, and/or subclassing Pod::Simple::HTML,
   then reconverting this document from the Pod source.
   When in doubt, email the author of Pod::Simple::HTML for advice.
   See 'perldoc Pod::Simple::HTML' for more info.

-->

<!-- start doc -->
<a name='___top' class='dummyTopAnchor' ></a>

<div class='indexgroup'>
<ul   class='indexList indexList1'>
  <li class='indexItem indexItem1'><a href='#NAME'>NAME</a>
  <li class='indexItem indexItem1'><a href='#VERSION'>VERSION</a>
  <li class='indexItem indexItem1'><a href='#DESCRIPTION'>DESCRIPTION</a>
  <li class='indexItem indexItem1'><a href='#EXPORT_OK'>EXPORT_OK</a>
  <ul   class='indexList indexList2'>
    <li class='indexItem indexItem2'><a href='#_command_options(%5B%24sub_coordinate%5D)'>_command_options([$sub_coordinate])</a>
    <li class='indexItem indexItem2'><a href='#_deployment(%24sub_coordinate%2C_%5B%24name%5D)'>_deployment($sub_coordinate, [$name])</a>
    <li class='indexItem indexItem2'><a href='#_download(%24resource%2C_%5B%24to%5D)'>_download($resource, [$to])</a>
    <li class='indexItem indexItem2'><a href='#_entity(%24coordinate%2C_%5B%24required%5D)'>_entity($coordinate, [$required])</a>
    <li class='indexItem indexItem2'><a href='#_is_local(%24hostname_sub_coordinate)'>_is_local($hostname_sub_coordinate)</a>
    <li class='indexItem indexItem2'><a href='#_local_template(%5C%26local_work%2C_%5B%25options%5D)'>_local_template(\&#38;local_work, [%options])</a>
    <li class='indexItem indexItem2'><a href='#_overlay(%24sub_coordinate%2C_%5B%24name%5D)'>_overlay($sub_coordinate, [$name])</a>
    <li class='indexItem indexItem2'><a href='#_push_resource_to_destination(%24source%2C_%24destination%2C_%5B%25options%5D)'>_push_resource_to_destination($source, $destination, [%options])</a>
    <li class='indexItem indexItem2'><a href='#_push_to_destination(%24source%2C_%24destination%2C_%5B%25options%5D)'>_push_to_destination($source, $destination, [%options])</a>
    <li class='indexItem indexItem2'><a href='#_resolve(%24resource)'>_resolve($resource)</a>
    <li class='indexItem indexItem2'><a href='#_service(%24sub_coordinate%2C_%5B%24name%5D)'>_service($sub_coordinate, [$name])</a>
    <li class='indexItem indexItem2'><a href='#_sub_coordinate(%24sub_coordinate)'>_sub_coordinate($sub_coordinate)</a>
    <li class='indexItem indexItem2'><a href='#_sub_entity(%24sub_coordinate%2C_%5B%24required%5D)'>_sub_entity($sub_coordinate, [$required])</a>
    <li class='indexItem indexItem2'><a href='#_verify_required_entities(%40sub_coordinates)'>_verify_required_entities(@sub_coordinates)</a>
  </ul>
  <li class='indexItem indexItem1'><a href='#AUTHOR'>AUTHOR</a>
  <li class='indexItem indexItem1'><a href='#COPYRIGHT_AND_LICENSE'>COPYRIGHT AND LICENSE</a>
  <li class='indexItem indexItem1'><a href='#SEE_ALSO'>SEE ALSO</a>
</ul>
</div>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="NAME"
>NAME</a></h1>

<p>Footprintless::Mixins - A utility package for mixins for standard object</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="VERSION"
>VERSION</a></h1>

<p>version 1.27</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="DESCRIPTION"
>DESCRIPTION</a></h1>

<p>This class is NOT to be used directly.
It can be used by any class which has at minimum:</p>

<pre>    $self-&#62;{coordinate}
    $self-&#62;{factory}</pre>

<p>The including class should:</p>

<pre>    use Exporter qw(
        _sub_coordinate
        _deployment
        ...
    );</pre>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="EXPORT_OK"
>EXPORT_OK</a></h1>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_command_options([$sub_coordinate])"
>_command_options([$sub_coordinate])</a></h2>

<p>Returns <code>command_options</code>. If <code>$sub_coordinate</code> is supplied, it will be used as the base spec, otherwise, this <code>$self-&#60;{coordinate}</code> will be used.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_deployment($sub_coordinate,_[$name])"
>_deployment($sub_coordinate, [$name])</a></h2>

<p>Returns a <code>deployment</code> from the factory. If <code>$name</code> is supplied, the <code>deployment</code> will be a singleton stored at <code>$self-</code>{$name}&#62;.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_download($resource,_[$to])"
>_download($resource, [$to])</a></h2>

<p>Downloads <code>$resource</code> and returns the path to the downloaded file. If <code>$to</code> is specified, the file will be downloaded to <code>$to</code>.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_entity($coordinate,_[$required])"
>_entity($coordinate, [$required])</a></h2>

<p>Returns the entity located at <code>$coordinate</code>. If <code>$required</code> is truthy, and the entity does not exist, an <a href="http://search.cpan.org/perldoc?Footprintless%3A%3AInvalidEntityException" class="podlinkpod"
>InvalidEntityException</a> is thrown.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_is_local($hostname_sub_coordinate)"
>_is_local($hostname_sub_coordinate)</a></h2>

<p>Returns a truthy value if the value at <code>$hostname_sub_coordinate</code> is an alias for the local system.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_local_template(\&#38;local_work,_[%options])"
>_local_template(\&#38;local_work, [%options])</a></h2>

<p>Will check if the entity at <code>$self-&#62;{coordinate}</code> has a <code>hostname</code> that is local, and if not, it will create a temp directory, call <code>&#38;local_work</code> with that directory, and call <a href="http://search.cpan.org/perldoc?_push_to_destination#_push_to_destination(%24source%2C_%24destination%2C_%5B%25options%5D)" class="podlinkpod"
>&#34;_push_to_destination($source, $destination, [%options])&#34; in _push_to_destination</a> with the temp directory as the source, and <code>to_dir</code> as the destination when complete. If <code>hostname</code> is <i>not</i> local, then <code>&#38;local_work</code> is called with <code>to_dir</code>.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_overlay($sub_coordinate,_[$name])"
>_overlay($sub_coordinate, [$name])</a></h2>

<p>Returns a <code>overlay</code> from the factory. If <code>$name</code> is supplied, the <code>overlay</code> will be a singleton stored at <code>$self-</code>{$name}&#62;.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_push_resource_to_destination($source,_$destination,_[%options])"
>_push_resource_to_destination($source, $destination, [%options])</a></h2>

<p>Pushes <code>$source</code> to <code>$destination</code>. Supported options are:</p>

<dl>
<dt><a name="extract"
>extract</a></dt>

<dd>
<p>If truthy, then the resource will be extracted using <a href="http://search.cpan.org/perldoc?Footprintless%3A%3AUtil#extract(%24archive%2C_%25options)" class="podlinkpod"
>extract</a> before getting pushed to <code>$destination</code>.</p>

<dt><a name="status"
>status</a></dt>

<dd>
<p>If truthy, then a status indicator will be printed to <code>STDERR</code> (uses the <code>pv</code> command).</p>
</dd>
</dl>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_push_to_destination($source,_$destination,_[%options])"
>_push_to_destination($source, $destination, [%options])</a></h2>

<p>Pushes <code>$source</code> to <code>$destination</code>. Supported options are:</p>

<dl>
<dt><a name="status"
>status</a></dt>

<dd>
<p>If truthy, then a status indicator will be printed to <code>STDERR</code> (uses the <code>pv</code> command).</p>
</dd>
</dl>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_resolve($resource)"
>_resolve($resource)</a></h2>

<p>Resolves <code>$resource</code>.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_service($sub_coordinate,_[$name])"
>_service($sub_coordinate, [$name])</a></h2>

<p>Returns a <code>service</code> from the factory. If <code>$name</code> is supplied, the <code>service</code> will be a singleton stored at <code>$self-</code>{$name}&#62;.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_sub_coordinate($sub_coordinate)"
>_sub_coordinate($sub_coordinate)</a></h2>

<p>Returns the coordinate of the descendent at <code>$sub_coordinate</code>.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_sub_entity($sub_coordinate,_[$required])"
>_sub_entity($sub_coordinate, [$required])</a></h2>

<p>Returns the descendent entity located at <code>$sub_coordinate</code>. If <code>$required</code> is truthy, and the entity does not exist, an <a href="http://search.cpan.org/perldoc?Footprintless%3A%3AInvalidEntityException" class="podlinkpod"
>InvalidEntityException</a> is thrown.</p>

<h2><a class='u' href='#___top' title='click to go to top of document'
name="_verify_required_entities(@sub_coordinates)"
>_verify_required_entities(@sub_coordinates)</a></h2>

<p>Will throw an <a href="http://search.cpan.org/perldoc?Footprintless%3A%3AInvalidEntityException" class="podlinkpod"
>InvalidEntityException</a> if any of <code>@sub_coordinates</code> refer to entities that do not exist.</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="AUTHOR"
>AUTHOR</a></h1>

<p>Lucas Theisen &#60;lucastheisen@pastdev.com&#62;</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="COPYRIGHT_AND_LICENSE"
>COPYRIGHT AND LICENSE</a></h1>

<p>This software is copyright (c) 2016 by Lucas Theisen.</p>

<p>This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.</p>

<h1><a class='u' href='#___top' title='click to go to top of document'
name="SEE_ALSO"
>SEE ALSO</a></h1>

<p>Please see those modules/websites for more information related to this module.</p>

<ul>
<li><a href="http://search.cpan.org/perldoc?Footprintless" class="podlinkpod"
>Footprintless</a></li>
</ul>

<!-- end doc -->

</body></html>