psecio/gatekeeper

View on GitHub

Showing 20 of 44 total issues

File UserModel.php has 369 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php

namespace Psecio\Gatekeeper;

/**
Severity: Minor
Found in src/Psecio/Gatekeeper/UserModel.php - About 4 hrs to fix

    File Gatekeeper.php has 322 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    <?php
    
    namespace Psecio\Gatekeeper;
    
    use \Psecio\Gatekeeper\Model\User;
    Severity: Minor
    Found in src/Psecio/Gatekeeper/Gatekeeper.php - About 3 hrs to fix

      Gatekeeper has 28 functions (exceeds 20 allowed). Consider refactoring.
      Open

      class Gatekeeper
      {
          /**
           * Database (PDO) instance
           * @var \PDO
      Severity: Minor
      Found in src/Psecio/Gatekeeper/Gatekeeper.php - About 3 hrs to fix

        UserModel has 21 functions (exceeds 20 allowed). Consider refactoring.
        Open

        class UserModel extends \Psecio\Gatekeeper\Model\Mysql
        {
            const STATUS_ACTIVE = 'active';
            const STATUS_INACTIVE = 'inactive';
        
        
        Severity: Minor
        Found in src/Psecio/Gatekeeper/UserModel.php - About 2 hrs to fix

          Function authenticate has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
          Open

              public static function authenticate(array $credentials, $remember = false)
              {
                  $username = $credentials['username'];
                  $user = new UserModel(self::$datasource);
                  $user->findByUsername($username);
          Severity: Minor
          Found in src/Psecio/Gatekeeper/Gatekeeper.php - About 1 hr to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Function find has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
          Open

              public function find(\Modler\Model $model, array $where = array(), $multiple = false)
              {
                  $properties = $model->getProperties();
                  list($columns, $bind) = $this->setup($where);
                  $update = array();
          Severity: Minor
          Found in src/Psecio/Gatekeeper/DataSource/Mysql.php - About 1 hr to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Method authenticate has 33 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              public static function authenticate(array $credentials, $remember = false)
              {
                  $username = $credentials['username'];
                  $user = new UserModel(self::$datasource);
                  $user->findByUsername($username);
          Severity: Minor
          Found in src/Psecio/Gatekeeper/Gatekeeper.php - About 1 hr to fix

            Function load has a Cognitive Complexity of 11 (exceeds 5 allowed). Consider refactoring.
            Open

                public function load(array $data, $enforceGuard = true)
                {
                    $loadData = array();
                    foreach ($this->getProperties() as $propertyName => $propertyDetail) {
                        // If it's a normal column
            Severity: Minor
            Found in src/Psecio/Gatekeeper/Model/Mysql.php - About 1 hr to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Method find has 31 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                public function find(\Modler\Model $model, array $where = array(), $multiple = false)
                {
                    $properties = $model->getProperties();
                    list($columns, $bind) = $this->setup($where);
                    $update = array();
            Severity: Minor
            Found in src/Psecio/Gatekeeper/DataSource/Mysql.php - About 1 hr to fix

              Method create has 28 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  public function create(\Modler\Model $model)
                  {
                      $relations = array();
                      $properties = $model->getProperties();
                      $data = $model->toArray();
              Severity: Minor
              Found in src/Psecio/Gatekeeper/DataSource/Mysql.php - About 1 hr to fix

                Function create has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function create($model, array $data)
                    {
                        foreach ($data as $group) {
                            // Determine if it's an integer (permissionId) or name
                            if (is_int($group) === true) {
                Severity: Minor
                Found in src/Psecio/Gatekeeper/UserGroupCollection.php - About 1 hr to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function __callStatic has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                Open

                    public static function __callStatic($name, $args)
                    {
                        // find the action first
                        $action = 'find';
                        foreach (self::$actions as $a) {
                Severity: Minor
                Found in src/Psecio/Gatekeeper/Gatekeeper.php - About 55 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function register has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                    public static function register(array $userData)
                    {
                        $user = new UserModel(self::$datasource, $userData);
                        if (self::$datasource->save($user)  === false) {
                            return false;
                Severity: Minor
                Found in src/Psecio/Gatekeeper/Gatekeeper.php - About 35 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function create has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function create(\Modler\Model $model)
                    {
                        $relations = array();
                        $properties = $model->getProperties();
                        $data = $model->toArray();
                Severity: Minor
                Found in src/Psecio/Gatekeeper/DataSource/Mysql.php - About 35 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function create has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function create($model, array $data)
                    {
                        foreach ($data as $permission) {
                            // Determine if it's an integer (permissionId) or name
                            if (is_int($permission) === true) {
                Severity: Minor
                Found in src/Psecio/Gatekeeper/UserPermissionCollection.php - About 35 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function grant has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function grant(array $config, $expire = null)
                    {
                        $return = true;
                        if (isset($config['permissions'])) {
                            $result = $this->grantPermissions($config['permissions'], $expire);
                Severity: Minor
                Found in src/Psecio/Gatekeeper/UserModel.php - About 35 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function grantPermissions has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function grantPermissions(array $permissions, $expire = null)
                    {
                        $return = true;
                        foreach ($permissions as $permission) {
                            $permission = ($permission instanceof PermissionModel) ? $permission->id : $permission;
                Severity: Minor
                Found in src/Psecio/Gatekeeper/UserModel.php - About 25 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function grantGroups has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function grantGroups(array $groups, $expire = null)
                    {
                        $return = true;
                        foreach ($groups as $group) {
                            $group = ($group instanceof GroupModel) ? $group->id : $group;
                Severity: Minor
                Found in src/Psecio/Gatekeeper/UserModel.php - About 25 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function evaluate has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function evaluate($data, $expression = null)
                    {
                        if ($this->id === null) {
                            throw new \InvalidArgumentException('Policy not loaded!');
                        }
                Severity: Minor
                Found in src/Psecio/Gatekeeper/PolicyModel.php - About 25 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Function evaluate has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                Open

                    public function evaluate()
                    {
                        $config = $this->getConfig();
                        $throttle = \Psecio\Gatekeeper\Gatekeeper::getUserThrottle($config['userId']);
                        $throttle->updateAttempts();
                Severity: Minor
                Found in src/Psecio/Gatekeeper/Restrict/Throttle.php - About 25 mins to fix

                Cognitive Complexity

                Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                A method's cognitive complexity is based on a few simple rules:

                • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                • Code is considered more complex for each "break in the linear flow of the code"
                • Code is considered more complex when "flow breaking structures are nested"

                Further reading

                Severity
                Category
                Status
                Source
                Language