for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php declare(strict_types=1);
namespace AlecRabbit\Spinner\Core\Jugglers;
use AlecRabbit\Accessories\Circular;
use AlecRabbit\Spinner\Core\Jugglers\Contracts\JugglerInterface;
use AlecRabbit\Spinner\Settings\Contracts\Defaults;
abstract class AbstractJuggler implements JugglerInterface
{
/** @var int */
protected $currentFrameErasingLength;
/** @var Circular */
protected $style;
/** @var string */
protected $prefix = Defaults::EMPTY_STRING;
protected $suffix = Defaults::EMPTY_STRING;
/** {@inheritDoc} */
public function getFrameErasingLength(): int
return $this->currentFrameErasingLength;
}
public function getStyledFrame(): string
return
sprintf((string)$this->style->value(), $this->getCurrentFrame());
abstract protected function getCurrentFrame():string;