Showing 1,823 of 1,823 total issues

Method accepts_nested_attributes_for has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

      def accepts_nested_attributes_for(*attr_names)
        options = { allow_destroy: false, update_only: false }
        options.update(attr_names.extract_options!)
        options.assert_valid_keys(:allow_destroy, :reject_if, :limit, :update_only)
        options[:reject_if] = REJECT_ALL_BLANK_PROC if options[:reject_if] == :all_blank
Severity: Minor
Found in activerecord/lib/active_record/nested_attributes.rb - About 45 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

Method set_primary_key has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

      def set_primary_key(table_name, id, primary_key, **options)
        if id && !as
          pk = primary_key || Base.get_primary_key(table_name.to_s.singularize)

          if id.is_a?(Hash)

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 remove_index has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

        def remove_index(table_name, column_name = nil, **options) # :nodoc:
          table = Utils.extract_schema_qualified_name(table_name.to_s)

          if options.key?(:name)
            provided_index = Utils.extract_schema_qualified_name(options[:name].to_s)

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 transaction has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

      def transaction(requires_new: nil, isolation: nil, joinable: true, &block)
        if !requires_new && current_transaction.joinable?
          if isolation
            raise ActiveRecord::TransactionIsolationError, "cannot set isolation when joining a transaction"
          end

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 log has 6 arguments (exceeds 4 allowed). Consider refactoring.
Open

        def log(sql, name = "SQL", binds = [], type_casted_binds = [], statement_name = nil, async: false, &block) # :doc:
Severity: Minor
Found in activerecord/lib/active_record/connection_adapters/abstract_adapter.rb - About 45 mins to fix

    Method initialize has 6 arguments (exceeds 4 allowed). Consider refactoring.
    Open

          def initialize(name, default, sql_type_metadata = nil, null = true, default_function = nil, collation: nil, comment: nil, **)
    Severity: Minor
    Found in activerecord/lib/active_record/connection_adapters/column.rb - About 45 mins to fix

      Avoid deeply nested control flow statements.
      Open

                        record[foreign_key] = association_id unless record[foreign_key] == association_id
      Severity: Major
      Found in activerecord/lib/active_record/autosave_association.rb - About 45 mins to fix

        Method equalities has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

                def equalities(predicates, equality_only)
                  equalities = []
        
                  predicates.each do |node|
                    if equality_only ? Arel::Nodes::Equality === node : equality_node?(node)
        Severity: Minor
        Found in activerecord/lib/active_record/relation/where_clause.rb - About 45 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

        Method reconstruct_from_schema has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

              def reconstruct_from_schema(db_config, format = ActiveRecord.schema_format, file = nil) # :nodoc:
                file ||= schema_dump_path(db_config, format)
        
                check_schema_file(file) if file
        
        
        Severity: Minor
        Found in activerecord/lib/active_record/tasks/database_tasks.rb - About 45 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

        Method include? has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

            def include?(record)
              # The existing implementation relies on receiving an Active Record instance as the input parameter named record.
              # Any non-Active Record object passed to this implementation is guaranteed to return `false`.
              return false unless record.is_a?(klass)
        
        
        Severity: Minor
        Found in activerecord/lib/active_record/relation/finder_methods.rb - About 45 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

        Method build_configs has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

              def build_configs(configs)
                return configs.configurations if configs.is_a?(DatabaseConfigurations)
                return configs if configs.is_a?(Array)
        
                db_configs = configs.flat_map do |env_name, config|
        Severity: Minor
        Found in activerecord/lib/active_record/database_configurations.rb - About 45 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

        Method initialize has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

            def initialize(reflection = nil, associated_class = nil)
              if reflection
                @reflection = reflection
                @associated_class = associated_class.nil? ? reflection.klass : associated_class
                super("Could not find the inverse association for #{reflection.name} (#{reflection.options[:inverse_of].inspect} in #{associated_class.nil? ? reflection.class_name : associated_class.name})")
        Severity: Minor
        Found in activerecord/lib/active_record/associations.rb - About 45 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

        Method migrate has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
        Open

              def migrate(version = nil)
                scope = ENV["SCOPE"]
                verbose_was, Migration.verbose = Migration.verbose, verbose?
        
                check_target_version
        Severity: Minor
        Found in activerecord/lib/active_record/tasks/database_tasks.rb - About 45 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

        Avoid deeply nested control flow statements.
        Open

                          if reflection.validate?
                            errors.add(reflection.name) unless association_saved
                            saved = association_saved
                          end
        Severity: Major
        Found in activerecord/lib/active_record/autosave_association.rb - About 45 mins to fix

          Method call has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

                def call(attribute, value)
                  return attribute.in([]) if value.empty?
          
                  values = value.map { |x| x.is_a?(Base) ? x.id : x }
                  nils = values.compact!

          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 association_valid? has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

                def association_valid?(reflection, record, index = nil)
                  return true if record.destroyed? || (reflection.options[:autosave] && record.marked_for_destruction?)
          
                  context = validation_context if custom_validation_context?
          
          
          Severity: Minor
          Found in activerecord/lib/active_record/autosave_association.rb - About 45 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

          Method build_joins has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

                def build_joins(join_sources, aliases = nil)
                  return join_sources if joins_values.empty? && left_outer_joins_values.empty?
          
                  buckets, join_type = build_join_buckets
          
          
          Severity: Minor
          Found in activerecord/lib/active_record/relation/query_methods.rb - About 45 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

          Method cast_values has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

              def cast_values(type_overrides = {}) # :nodoc:
                if columns.one?
                  # Separated to avoid allocating an array per row
          
                  type = if type_overrides.is_a?(Array)
          Severity: Minor
          Found in activerecord/lib/active_record/result.rb - About 45 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

          Method column_references has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
          Open

                def column_references(order_args)
                  order_args.flat_map do |arg|
                    case arg
                    when String, Symbol
                      arg
          Severity: Minor
          Found in activerecord/lib/active_record/relation/query_methods.rb - About 45 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

          Avoid deeply nested control flow statements.
          Open

                          object.respond_to?(aggr_attr) ? object.public_send(aggr_attr) : object
          Severity: Major
          Found in activerecord/lib/active_record/relation/predicate_builder.rb - About 45 mins to fix
            Severity
            Category
            Status
            Source
            Language