actionview/lib/action_view/helpers/form_helper.rb

Summary

Maintainability
D
2 days
Test Coverage

File form_helper.rb has 424 lines of code (exceeds 250 allowed). Consider refactoring.
Open

require "cgi"
require "action_view/helpers/date_helper"
require "action_view/helpers/url_helper"
require "action_view/helpers/form_tag_helper"
require "action_view/helpers/active_model_helper"
Severity: Minor
Found in actionview/lib/action_view/helpers/form_helper.rb - About 6 hrs to fix

    Class FormBuilder has 25 methods (exceeds 20 allowed). Consider refactoring.
    Open

        class FormBuilder
          include ModelNaming
    
          # The methods which wrap a form helper call.
          class_attribute :field_helpers, default: [
    Severity: Minor
    Found in actionview/lib/action_view/helpers/form_helper.rb - About 2 hrs to fix

      Method fields_for_with_nested_attributes has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
      Open

              def fields_for_with_nested_attributes(association_name, association, options, block)
                name = "#{object_name}[#{association_name}_attributes]"
                association = convert_to_model(association)
      
                if association.respond_to?(:persisted?)
      Severity: Minor
      Found in actionview/lib/action_view/helpers/form_helper.rb - About 2 hrs 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 fields_for has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
      Open

            def fields_for(record_name, record_object = nil, fields_options = nil, &block)
              fields_options, record_object = record_object, nil if fields_options.nil? && record_object.is_a?(Hash) && record_object.extractable_options?
              fields_options ||= {}
              fields_options[:builder] ||= options[:builder]
              fields_options[:namespace] = options[:namespace]
      Severity: Minor
      Found in actionview/lib/action_view/helpers/form_helper.rb - 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 fields_for has 30 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

            def fields_for(record_name, record_object = nil, fields_options = nil, &block)
              fields_options, record_object = record_object, nil if fields_options.nil? && record_object.is_a?(Hash) && record_object.extractable_options?
              fields_options ||= {}
              fields_options[:builder] ||= options[:builder]
              fields_options[:namespace] = options[:namespace]
      Severity: Minor
      Found in actionview/lib/action_view/helpers/form_helper.rb - About 1 hr to fix

        Method html_options_for_form_with has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
        Open

                def html_options_for_form_with(url_for_options = nil, model = nil, html: {}, local: !form_with_generates_remote_forms,
                  skip_enforcing_utf8: nil, **options)
                  html_options = options.slice(:id, :class, :multipart, :method, :data, :authenticity_token).merge!(html)
                  html_options[:remote] = html.delete(:remote) || !local
                  html_options[:method] ||= :patch if model.respond_to?(:persisted?) && model.persisted?
        Severity: Minor
        Found in actionview/lib/action_view/helpers/form_helper.rb - 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 submit_default_value has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
        Open

                def submit_default_value
                  object = convert_to_model(@object)
                  key    = object ? (object.persisted? ? :update : :create) : :submit
        
                  model = if object.respond_to?(:model_name)
        Severity: Minor
        Found in actionview/lib/action_view/helpers/form_helper.rb - 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 form_for has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
        Open

              def form_for(record, options = {}, &block)
                raise ArgumentError, "Missing block" unless block_given?
        
                case record
                when String, Symbol
        Severity: Minor
        Found in actionview/lib/action_view/helpers/form_helper.rb - 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

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

              def initialize(object_name, object, template, options)
                @nested_child_index = {}
                @object_name, @object, @template, @options = object_name, object, template, options
                @default_options = @options ? @options.slice(:index, :namespace, :skip_default_ids, :allow_method_names_outside_object) : {}
                @default_html_options = @default_options.except(:skip_default_ids, :allow_method_names_outside_object)
        Severity: Minor
        Found in actionview/lib/action_view/helpers/form_helper.rb - 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

        Method form_with has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
        Open

              def form_with(model: false, scope: nil, url: nil, format: nil, **options, &block)
                ActionView.deprecator.warn("Passing nil to the :model argument is deprecated and will raise in Rails 7.3") if model.nil?
        
                options = { allow_method_names_outside_object: true, skip_default_ids: !form_with_generates_ids }.merge!(options)
        
        
        Severity: Minor
        Found in actionview/lib/action_view/helpers/form_helper.rb - 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

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

              def apply_form_for_options!(object, options) # :nodoc:
                object = convert_to_model(object)
        
                as = options[:as]
                namespace = options[:namespace]
        Severity: Minor
        Found in actionview/lib/action_view/helpers/form_helper.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 check_box has 5 arguments (exceeds 4 allowed). Consider refactoring.
        Open

              def check_box(object_name, method, options = {}, checked_value = "1", unchecked_value = "0")
        Severity: Minor
        Found in actionview/lib/action_view/helpers/form_helper.rb - About 35 mins to fix

          Method label has 5 arguments (exceeds 4 allowed). Consider refactoring.
          Open

                def label(object_name, method, content_or_options = nil, options = nil, &block)
          Severity: Minor
          Found in actionview/lib/action_view/helpers/form_helper.rb - About 35 mins to fix

            There are no issues that match your filters.

            Category
            Status