Changeset View
Changeset View
Standalone View
Standalone View
src/config/option/ArcanistPromptsConfigOption.php
- This file was added.
| <?php | |||||
| final class ArcanistPromptsConfigOption | |||||
| extends ArcanistMultiSourceConfigOption { | |||||
| public function getType() { | |||||
| return 'map<string, prompt>'; | |||||
| } | |||||
| public function getValueFromStorageValue($value) { | |||||
| if (!is_array($value)) { | |||||
| throw new Exception(pht('Expected a list!')); | |||||
| } | |||||
| if (!phutil_is_natural_list($value)) { | |||||
| throw new Exception(pht('Expected a natural list!')); | |||||
| } | |||||
| $responses = array(); | |||||
| foreach ($value as $spec) { | |||||
| $responses[] = ArcanistPromptResponse::newFromConfig($spec); | |||||
| } | |||||
| return $responses; | |||||
| } | |||||
| protected function didReadStorageValueList(array $list) { | |||||
| assert_instances_of($list, 'ArcanistConfigurationSourceValue'); | |||||
| $results = array(); | |||||
| foreach ($list as $spec) { | |||||
| $source = $spec->getConfigurationSource(); | |||||
| $value = $spec->getValue(); | |||||
| $value->setConfigurationSource($source); | |||||
| $results[] = $value; | |||||
| } | |||||
| return $results; | |||||
| } | |||||
| public function getDisplayValueFromValue($value) { | |||||
| return pht('Use the "prompts" workflow to review prompt responses.'); | |||||
| } | |||||
| public function getStorageValueFromValue($value) { | |||||
| return mpull($value, 'getStorageDictionary'); | |||||
| } | |||||
| } | |||||