protected function getRuleType(array $keyRules)
    {
        // We assume that the attributes present in the file array are files so that
        // means that if the attribute does not have a numeric rule and the files
        // list doesn't have it we'll just consider it a string by elimination.
        if ($this->hasRule($keyRules, $this->numericRules)) {
            return 'numeric';
        }

        if ($this->hasRule($keyRules, 'array')) {
            return 'array';
        }

        if ($this->hasRule($keyRules, 'file')) {
            return 'file';
        }

        return 'string';
    }