Carrot

 view release on metacpan or  search on metacpan

lib/Carrot/Continuity/Coordination/Episode/Target/Timeout.pm  view on Meta::CPAN

package Carrot::Continuity::Coordination::Episode::Target::Timeout
# /type class
# //parent_classes
#	[=component_pkg=]::_Corporate
# /capability ""
{
	use strict;
	use warnings 'FATAL' => 'all';

	my $expressiveness = Carrot::individuality;
	$expressiveness->provide(
		my $epoch_time = '::Individuality::Singular::Process::Epoch_Time');

	$expressiveness->class_names->provide_instance(
		my $source = '[=project_pkg=]::Source::Time');

	my $default_name = 'evt_time_timeout';

# =--------------------------------------------------------------------------= #

sub attribute_construction
# /type method
# /effect "Constructs the attribute(s) of a newly created instance."
# //parameters
#	that            ::Personality::Abstract::Instance
#	name
#	after
# //returns
{
	my ($this, $that, $name, $after) = @ARGUMENTS;

	my $callback = $this->create_callback($that, $default_name, $name);
	$after = 60 if ($after == 0);
	@$this = ($that, $callback, 0, 0, $after);
	return;
}

sub remaining
# /type method
# /effect ""
# //parameters
# //returns
#	?
{
	return($_[THIS][ATR_VALUE] - $$epoch_time);
}

sub refresh
# /type method
# /effect ""
# //parameters
# //returns
{
	if (($_[THIS][ATR_VALUE] - $$epoch_time) < ($_[THIS][ATR_DATA]/3))
	{
		$_[THIS]->reset;
	}
	return;
}
sub reset
# /type method



( run in 3.085 seconds using v1.01-cache-2.11-cpan-5a3173703d6 )