public function isUsable(array $requiredFields = [])
    {
        return array_reduce(
            $requiredFields,
            function ($canBeUsed, $checkableField) {

                return
                    $canBeUsed &&
                    $this->hasField($checkableField) &&
                    (
                        false === $this->getField($checkableField)['required'] ||
                        $this->getFieldValue($checkableField)
                    );
            },
            $this->isEnabled()
        );
    }
public function isUsable(array $requiredFields = [])
    {
        return array_reduce(
            $requiredFields,
            function ($canBeUsed, $checkableField) {

                return
                    $canBeUsed &&
                    $this->hasField($checkableField) &&
                    (
                        false === $this->getField($checkableField)['required'] ||
                        $this->getFieldValue($checkableField)
                    );
            },
            $this->isEnabled()
        );
    }
public function isUsable ( array $ requiredFields = [ ] ) { return array_reduce ( $ requiredFields , function ( $ canBeUsed , $ checkableField ) { return $ canBeUsed && $ this -> hasField ( $ checkableField ) && ( false === $ this -> getField ( $ checkableField ) [ 'required' ] || $ this -> getFieldValue ( $ checkableField ) ) ; } , $ this -> isEnabled ( ) ) ; }
Plugin is usable.

@param array $requiredFields Fields to check

@return bool Plugin is usable
Plugin is usable .