/**
  * Resolve unregistered resolvable
  *
  * @param array $params
  * @return null|void
  */
 public function resolve($params = [])
 {
     parent::resolve($params);
     if (!ResolvableAuthorizationRegistry::isRegistered($this->resolvable)) {
         $this->manager->resolve($this->resolvable, $params);
     }
 }
 /**
  * Resolve unregistered resolvables
  *
  * @param array $params
  * @return null|void
  */
 public function resolve($params = [])
 {
     foreach ($this->resolvables as $resolvable) {
         if (!ResolvableAuthorizationRegistry::isRegistered($resolvable)) {
             $this->manager->resolve($resolvable, $params);
         }
     }
 }
 /**
  * Test that register function register an authorization
  */
 public function testRegister()
 {
     $callback = function () {
     };
     $this->manager->registerResolvable('name', $this->manager->context($callback));
     $this->assertTrue(ResolvableAuthorizationRegistry::isRegistered('name'));
     $resolvable = ResolvableAuthorizationRegistry::get('name');
     $this->assertInstanceOf("ResolveAuth\\Authorization\\Resolvable\\ContextAuthorization", $resolvable);
 }
 /**
  * Resolve unregistered resolvable authorizations contained in rules
  *
  * @param string $authorizedValue Resolve only authorization with the specified authorized value or "*"
  * @return null
  */
 public function resolveUnregistered($authorizedValue = null)
 {
     foreach ($this->rules as $rule) {
         if ($authorizedValue && !in_array($authorizedValue, $rule->authorizedValues) && !in_array('*', $rule->authorizedValues)) {
             continue;
         }
         if (!ResolvableAuthorizationRegistry::isRegistered($rule->resolvableAuthorization) && !$rule->resolvableAuthorization->resolved()) {
             $this->resolve($rule->resolvableAuthorization);
         }
     }
 }