12 protected $featureGateConfig;
13 protected $feature =
'';
23 $this->featureGateConfig = $config;
24 if (strlen(trim($feature)) == 0) {
25 throw new Exception(
'Must supply a non-empty feature');
27 $this->feature = $feature;
37 public function WillPass(String $creditUnion, array $params =
null):bool {
49 $config = $this->featureGateConfig->GetFeatureData($this->feature);
51 switch ($config[
'enabled_all']) {
59 return in_array($creditUnion, $config[
'enabled_cu']);
80 if ($this->featureGateConfig->HasFeature($this->feature)) {
81 $config = $this->featureGateConfig->GetFeatureData($this->feature);
83 if ( $config && is_array($config) && array_key_exists(
"params", $config) ) {
85 $paramsByCU = $config[
"params"];
86 $returnArray = isset( $paramsByCU[$creditUnion] ) ? $paramsByCU[$creditUnion] : array();
101 abstract protected function DeterminePass(String $creditUnion, array $params =
null):bool;
WillPass(String $creditUnion, array $params=null)
__construct(String $feature, FeatureGateConfig $config)
DeterminePass(String $creditUnion, array $params=null)
GetFeatureParams(String $creditUnion)
DetermineCreditUnionPass(String $creditUnion)