mirror of
https://github.com/n3w/helpers-cli-input.git
synced 2025-12-19 12:43:23 +00:00
Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6fe64321e | ||
|
|
9622c98258 | ||
|
|
2d87f04dff | ||
|
|
1e903ea6e1 | ||
|
|
326a979302 |
7 changed files with 17 additions and 46 deletions
|
|
@ -3,6 +3,10 @@
|
|||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [1.2.2][]
|
||||
#### Changed
|
||||
- Minor improvement to logic in `AbstractInputHandler::validateInput()`. Ensures that an input with a validator, but with a default value and no user suplied input, will have the default value used.
|
||||
|
||||
## [1.2.1][]
|
||||
#### Changed
|
||||
- Updated `InputHandlerFactory` and `InputTypeFactory` to work with changes in `pointybeard/helpers-foundation-factory` 1.0.2
|
||||
|
|
@ -77,6 +81,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||
#### Added
|
||||
- Initial release
|
||||
|
||||
[1.2.2]: https://github.com/pointybeard/helpers-functions-cli/compare/1.2.1...1.2.2
|
||||
[1.2.1]: https://github.com/pointybeard/helpers-functions-cli/compare/1.2.0...1.2.1
|
||||
[1.2.0]: https://github.com/pointybeard/helpers-functions-cli/compare/1.1.4...1.2.0
|
||||
[1.1.4]: https://github.com/pointybeard/helpers-functions-cli/compare/1.1.3...1.1.4
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# PHP Helpers: Command-line Input and Input Type Handlers
|
||||
|
||||
- Version: v1.2.1
|
||||
- Date: June 04 2019
|
||||
- Version: v1.2.2
|
||||
- Date: Aug 06 2019
|
||||
- [Release notes](https://github.com/pointybeard/helpers-cli-input/blob/master/CHANGELOG.md)
|
||||
- [GitHub repository](https://github.com/pointybeard/helpers-cli-input)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
{
|
||||
"name": "pointybeard/helpers-cli-input",
|
||||
"version": "1.2.1",
|
||||
"description": "Collection of classes for handling argv (and other) input when calling command-line scripts. Helps with parsing, collecting and validating arguments, options, and flags.",
|
||||
"homepage": "https://github.com/pointybeard/helpers-cli-input",
|
||||
"license": "MIT",
|
||||
|
|
@ -17,11 +16,6 @@
|
|||
"pointybeard/helpers-foundation-factory": "~1.0",
|
||||
"pointybeard/helpers-functions-flags": "~1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"pointybeard/helpers-functions-strings": "~1.1.0",
|
||||
"pointybeard/helpers-cli-colour": "~1.0",
|
||||
"pointybeard/helpers-functions-cli": "~1.1.0"
|
||||
},
|
||||
"support": {
|
||||
"issues": "https://github.com/pointybeard/helpers-cli-input/issues",
|
||||
"wiki": "https://github.com/pointybeard/helpers-cli-input/wiki"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ declare(strict_types=1);
|
|||
include __DIR__.'/../vendor/autoload.php';
|
||||
|
||||
use pointybeard\Helpers\Cli\Input;
|
||||
use pointybeard\Helpers\Cli\Colour\Colour;
|
||||
use pointybeard\Helpers\Functions\Cli;
|
||||
|
||||
// Define what we are expecting to get from the command line
|
||||
|
|
@ -64,34 +63,6 @@ try {
|
|||
exit;
|
||||
}
|
||||
|
||||
// Display the manual in green text
|
||||
echo Cli\manpage(
|
||||
basename(__FILE__),
|
||||
'1.0.2',
|
||||
'An example script for the PHP Helpers: Command-line Input and Input Type Handlers composer library (pointybeard/helpers-cli-input).',
|
||||
$collection,
|
||||
Colour::FG_GREEN,
|
||||
Colour::FG_WHITE,
|
||||
[
|
||||
'Examples' => 'php -f example/example.php -- -vvv -d example/example.json import',
|
||||
]
|
||||
).PHP_EOL.PHP_EOL;
|
||||
|
||||
// example.php 1.0.2, An example script for the PHP Helpers: Command-line Input
|
||||
// and Input Type Handlers composer library (pointybeard/helpers-cli-input).
|
||||
// Usage: example.php [OPTIONS]... ACTION...
|
||||
//
|
||||
// Arguments:
|
||||
// ACTION The name of the action to perform
|
||||
//
|
||||
// Options:
|
||||
// -v verbosity level. -v (errors only), -vv
|
||||
// (warnings and errors), -vvv (everything).
|
||||
// -d, --data=VALUE Path to the input JSON data
|
||||
//
|
||||
// Examples:
|
||||
// php -f example/example.php -- -vvv -d example/example.json import
|
||||
|
||||
var_dump($argv->find('action'));
|
||||
// string(6) "import"
|
||||
|
||||
|
|
|
|||
|
|
@ -68,17 +68,17 @@ abstract class AbstractInputHandler implements Interfaces\InputHandlerInterface
|
|||
if(!Flags\is_flag_set($flags, self::FLAG_VALIDATION_SKIP_REQUIRED)) {
|
||||
self::checkRequiredAndRequiredValue($input, $this->input);
|
||||
}
|
||||
// There is a default value, input has not been set, and there
|
||||
// is no validator
|
||||
// There is a default value and input has not been set. Assign the
|
||||
// default value to the result.
|
||||
if (
|
||||
null !== $input->default() &&
|
||||
null === $this->find($input->name()) &&
|
||||
null === $input->validator()
|
||||
null === $this->find($input->name())
|
||||
) {
|
||||
$result = $input->default();
|
||||
|
||||
// Input has been set and it has a validator. Skip this if
|
||||
// FLAG_VALIDATION_SKIP_CUSTOM is set
|
||||
// Input has been set AND it has a validator. Run the validator over the
|
||||
// input. Note, this will be skipped if FLAG_VALIDATION_SKIP_CUSTOM is
|
||||
// set
|
||||
} elseif (null !== $this->find($input->name()) && null !== $input->validator() && !Flags\is_flag_set($flags, self::FLAG_VALIDATION_SKIP_CUSTOM)) {
|
||||
$validator = $input->validator();
|
||||
|
||||
|
|
@ -94,7 +94,8 @@ abstract class AbstractInputHandler implements Interfaces\InputHandlerInterface
|
|||
throw new Exceptions\InputValidationFailedException($input, 0, $ex);
|
||||
}
|
||||
|
||||
// No default, no validator, but may or may not have been set
|
||||
// No default, but may or may not have been set so assign whatever value
|
||||
// it might have to the result
|
||||
} else {
|
||||
$result = $this->find($input->name());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,6 +72,6 @@ class Argument extends Input\AbstractInputType
|
|||
$second[$ii] = $secondaryLineLeadPadding.$second[$ii];
|
||||
}
|
||||
|
||||
return $first.implode($second, PHP_EOL);
|
||||
return $first.implode(PHP_EOL, $second);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,6 +84,6 @@ class LongOption extends Input\AbstractInputType
|
|||
$second[$ii] = $secondaryLineLeadPadding.$second[$ii];
|
||||
}
|
||||
|
||||
return $first.implode($second, PHP_EOL);
|
||||
return $first.implode(PHP_EOL, $second);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue