phpactor
phpactor copied to clipboard
Inflect command uses invalid `default` default.
Hi,
Maybe I am missing something but I've runned into this while trying to extract an interface, using phpactor from the command line
% phpactor class:inflect src/AppBundle/Infrastructure/Aws/AwsClient.php src/AppBundle/Infrastructure/Aws/AwsClientInterface2.php -vvv !10098
[InvalidArgumentException]
Generator "default" not known, known elements: "interface"
Exception trace:
() at /home/mikael/src/phpactor/vendor/phpactor/code-transform/lib/Domain/AbstractCollection.php:41
Phpactor\CodeTransform\Domain\AbstractCollection->get() at /home/mikael/src/phpactor/lib/Extension/CodeTransform/Application/ClassInflect.php:45
Phpactor\Extension\CodeTransform\Application\ClassInflect->doGenerateFromExisting() at /home/mikael/src/phpactor/lib/Extension/CodeTransform/Application/ClassInflect.php:31
Phpactor\Extension\CodeTransform\Application\ClassInflect->generateFromExisting() at /home/mikael/src/phpactor/lib/Extension/CodeTransform/Command/ClassInflectCommand.php:75
Phpactor\Extension\CodeTransform\Command\ClassInflectCommand->process() at /home/mikael/src/phpactor/lib/Extension/CodeTransform/Command/ClassInflectCommand.php:58
Phpactor\Extension\CodeTransform\Command\ClassInflectCommand->execute() at /home/mikael/src/phpactor/vendor/symfony/console/Command/Command.php:264
Symfony\Component\Console\Command\Command->run() at /home/mikael/src/phpactor/vendor/symfony/console/Application.php:874
Symfony\Component\Console\Application->doRunCommand() at /home/mikael/src/phpactor/vendor/symfony/console/Application.php:228
Symfony\Component\Console\Application->doRun() at /home/mikael/src/phpactor/lib/Application.php:41
Phpactor\Application->doRun() at /home/mikael/src/phpactor/vendor/symfony/console/Application.php:130
Symfony\Component\Console\Application->run() at /home/mikael/src/phpactor/bin/phpactor:43
class:inflect [--list] [--force] [--format FORMAT] [--] <src> <dest> [<variant>]
I've tried this on develop and master branch, same result.
You probably want
$ phpactor class:inflect \
src/AppBundle/Infrastructure/Aws/AwsClient.php \
src/AppBundle/Infrastructure/Aws/AwsClientInterface2.php \
interface \
-vvv
(note the third parameter, 'interface')
Though the ticket is still valid, we should probably handle the default more gracefully.
thanks @weirdan !
This should be fixed now. As far as I know you can generate classes and interfaces no problem.