Acme-FishFarm

 view release on metacpan or  search on metacpan

docs/Acme-FishFarm-Feeder-1.01.html  view on Meta::CPAN




<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#VERSION">VERSION</a></li>
  <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
  <li><a href="#EXPORT">EXPORT</a></li>
  <li><a href="#CREATION-RELATED-METHODS">CREATION RELATED METHODS</a>
    <ul>
      <li><a href="#install-options">install ( %options )</a></li>
    </ul>
  </li>
  <li><a href="#TIMER-RELATED-SUBROUTINES-METHODS">TIMER RELATED SUBROUTINES/METHODS</a>
    <ul>
      <li><a href="#get_timer">get_timer</a></li>
      <li><a href="#set_timer-time">set_timer ( $time )</a></li>
      <li><a href="#timer_is_up">timer_is_up</a></li>
      <li><a href="#time_remaining">time_remaining</a></li>
      <li><a href="#tick_clock-custom_tick">tick_clock ( $custom_tick )</a></li>
    </ul>
  </li>
  <li><a href="#FOOD-TANK-RELATED-SUBROUTINE-METHODS">FOOD TANK RELATED SUBROUTINE/METHODS</a>
    <ul>
      <li><a href="#food_tank_capacity">food_tank_capacity</a></li>
      <li><a href="#set_food_tank_capacity-new_capacity">set_food_tank_capacity ( $new_capacity )</a></li>
      <li><a href="#food_remaining">food_remaining</a></li>
    </ul>
  </li>
  <li><a href="#FEEDING-RELATED-SUBROUTINES-METHODS">FEEDING RELATED SUBROUTINES/METHODS</a>
    <ul>
      <li><a href="#feed_fish-options">feed_fish ( %options )</a></li>
      <li><a href="#set_feeding_volume-volume">set_feeding_volume ( $volume )</a></li>
      <li><a href="#feeding_volume">feeding_volume</a></li>
      <li><a href="#refill-volume">refill ( $volume )</a></li>
    </ul>
  </li>
  <li><a href="#AUTHOR">AUTHOR</a></li>
  <li><a href="#BUGS">BUGS</a></li>
  <li><a href="#SUPPORT">SUPPORT</a></li>
  <li><a href="#ACKNOWLEDGEMENTS">ACKNOWLEDGEMENTS</a></li>
  <li><a href="#SEE-ALSO">SEE ALSO</a></li>
  <li><a href="#LICENSE-AND-COPYRIGHT">LICENSE AND COPYRIGHT</a></li>
</ul>

<h1 id="NAME">NAME</h1>

<p>Acme::FishFarm::Feeder - Automated Feeder for Acme::FishFarm</p>

<h1 id="VERSION">VERSION</h1>

<p>Version 1.01</p>

<h1 id="SYNOPSIS">SYNOPSIS</h1>

<pre><code>    use 5.010;
    use Acme::FishFarm::Feeder;

    my $feeder = Acme::FishFarm::Feeder-&gt;install( timer =&gt; 3, feeding_volume =&gt; 150 );

    say &quot;Feeder installed and switched on!&quot;;
    say &quot;&quot;;

    while ( &quot;fish are living happilly&quot; ) {

        if ( $feeder-&gt;timer_is_up ) {
            say &quot;\nTimer is up, time to feed the fish!&quot;;
            say &quot;Feeding &quot;, $feeder-&gt;feeding_volume, &quot; cm^3 of fish food to the fish...&quot;;
            
            $feeder-&gt;feed_fish;
            
            say $feeder-&gt;food_remaining, &quot; cm^3 of fish food remaining in the tank.\n&quot;;
        }
        
        if ( $feeder-&gt;food_remaining &lt;= 0  ) {
            $feeder-&gt;refill; # default back to 500 cm^3
            say &quot;Refilled food tank back to &quot;, $feeder-&gt;food_tank_capacity, &quot; cm^3.\n&quot;;
        }
        
        say $feeder-&gt;time_remaining, &quot; hours left until it&#39;s time to feed the fish.&quot;;

        sleep(1);
        $feeder-&gt;tick_clock;
    }

    say &quot;&quot;;
    say &quot;Feeder was switched off, please remeber to feed your fish on time :)&quot;;</code></pre>

<h1 id="EXPORT">EXPORT</h1>

<p>None</p>

<h1 id="CREATION-RELATED-METHODS">CREATION RELATED METHODS</h1>

<h2 id="install-options">install ( %options )</h2>

<p>Installs an automated fish feeder.</p>

<p>The following are available for <code>%options</code>:</p>

<ul>

<li><p>timer</p>

<p>The default is <code>8</code>.</p>

<p>This is used as a threshold to identify that the time is up to feed the fish or not.</p>

<p>The clock will be set to this value for countdown.</p>

</li>
<li><p>feeding_volume</p>

<p>The default is <code>50 cm^3</code>.</p>

</li>
<li><p>food_tank_capacity</p>

<p>The maximum volume of fish food. Default is <code>500 cm^3</code>.</p>

</li>
<li><p>current_food_amount</p>

<p>The initial amount of food to be filled into the food tank. Default is max ie <code>500 cm^3</code>.</p>

</li>
</ul>

<h1 id="TIMER-RELATED-SUBROUTINES-METHODS">TIMER RELATED SUBROUTINES/METHODS</h1>

<h2 id="get_timer">get_timer</h2>

<p>Returns the timer threshold of the feeder.</p>

<h2 id="set_timer-time">set_timer ( $time )</h2>

<p>Sets the new timer threshold of the feeder.</p>

<p>Setting this timer will not affect the clock within the feeder.</p>

<h2 id="timer_is_up">timer_is_up</h2>

<p>Check if the timer is up. If timer is up, please remember to feed your fish. See <code>feed_fish</code> for more info.</p>

<h2 id="time_remaining">time_remaining</h2>

<p>Returns the time remaining to feed the fish.</p>



( run in 1.007 second using v1.01-cache-2.11-cpan-ecdf5575e8d )