Showing 73 of 79 total issues

Class BaseController has 52 methods (exceeds 20 allowed). Consider refactoring.
Open

class BaseController < ApplicationController
include Avo::Concerns::FiltersSessionHandler
include Avo::Concerns::SafeCall
 
before_action :set_resource_name
Severity: Major
Found in app/controllers/avo/base_controller.rb - About 7 hrs to fix

    File base_controller.rb has 472 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    require_dependency "avo/application_controller"
     
    module Avo
    class BaseController < ApplicationController
    include Avo::Concerns::FiltersSessionHandler
    Severity: Minor
    Found in app/controllers/avo/base_controller.rb - About 7 hrs to fix

      Class ResourceGenerator has 39 methods (exceeds 20 allowed). Consider refactoring.
      Open

      class ResourceGenerator < NamedBaseGenerator
      include Concerns::ParentController
      include Concerns::OverrideController
       
      source_root File.expand_path("templates", __dir__)
      Severity: Minor
      Found in lib/generators/avo/resource_generator.rb - About 5 hrs to fix

        Class AssociationsController has 36 methods (exceeds 20 allowed). Consider refactoring.
        Open

        class AssociationsController < BaseController
        before_action :set_record, only: [:show, :index, :new, :create, :destroy]
        before_action :set_related_resource_name
        before_action :set_related_resource, only: [:show, :index, :new, :create, :destroy]
        before_action :set_related_authorization
        Severity: Minor
        Found in app/controllers/avo/associations_controller.rb - About 4 hrs to fix

          Method eject_component has a Cognitive Complexity of 29 (exceeds 5 allowed). Consider refactoring.
          Open

          def eject_component(component_to_eject = options[:component], confirmation: true)
          # Underscore the component name
          # Example: Avo::Views::ResourceIndexComponent => avo/views/resource_index_component
          component = component_to_eject.underscore
           
           
          Severity: Minor
          Found in lib/generators/avo/eject_generator.rb - About 4 hrs to fix

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          disableResourceActions() {
          this.actionLinks.forEach((link) => {
          // Disable only if is on the same resource context
          // Avoiding to disable unrelated actions when selecting items on a has many table
          if (link.dataset.resourceName === this.resourceName) {
          Severity: Major
          Found in app/javascript/js/controllers/item_selector_controller.js and 1 other location - About 4 hrs to fix
          app/javascript/js/controllers/item_selector_controller.js on lines 76..87

          Similar blocks of code found in 2 locations. Consider refactoring.
          Open

          enableResourceActions() {
          this.actionLinks.forEach((link) => {
          // Enable only if is on the same resource context
          // Avoiding to enable unrelated actions when selecting items on a has many table
          if (link.dataset.resourceName === this.resourceName) {
          Severity: Major
          Found in app/javascript/js/controllers/item_selector_controller.js and 1 other location - About 4 hrs to fix
          app/javascript/js/controllers/item_selector_controller.js on lines 89..100

          Class ResourceComponent has 27 methods (exceeds 20 allowed). Consider refactoring.
          Open

          class Avo::ResourceComponent < Avo::BaseComponent
          include Avo::Concerns::ChecksAssocAuthorization
          include Avo::Concerns::RequestMethods
          include Avo::Concerns::HasResourceStimulusControllers
           
           
          Severity: Minor
          Found in app/components/avo/resource_component.rb - About 3 hrs to fix

            Method unwrap has a Cognitive Complexity of 22 (exceeds 5 allowed). Consider refactoring.
            Open

            def unwrap(i, level = 0, view: :show)
            result = []
             
            i.items.each do |item|
            label = ""
            Severity: Minor
            Found in lib/avo/item_grapher.rb - About 3 hrs to fix

            Class ResourceIndexComponent has 26 methods (exceeds 20 allowed). Consider refactoring.
            Open

            class Avo::Views::ResourceIndexComponent < Avo::ResourceComponent
            include Avo::ResourcesHelper
            include Avo::ApplicationHelper
             
            prop :resource
            Severity: Minor
            Found in app/components/avo/views/resource_index_component.rb - About 3 hrs to fix

              Function addSource has 73 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              addSource(resourceName, data) {
              const that = this
               
              return {
              sourceId: resourceName,
              Severity: Major
              Found in app/javascript/js/controllers/search_controller.js - About 2 hrs to fix

                Method create_files has 66 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                def create_files
                unless tailwindcss_installed?
                say "Installing Tailwindcss"
                system "./bin/bundle add tailwindcss-rails"
                system "./bin/rails tailwindcss:install"
                Severity: Major
                Found in lib/generators/avo/tailwindcss/install_generator.rb - About 2 hrs to fix

                  Method initialize_views has a Cognitive Complexity of 19 (exceeds 5 allowed). Consider refactoring.
                  Open

                  def initialize_views
                  # Set defaults
                  @show_on_index = @show_on_index.nil? ? true : @show_on_index
                  @show_on_show = @show_on_show.nil? ? true : @show_on_show
                  @show_on_new = @show_on_new.nil? ? true : @show_on_new
                  Severity: Minor
                  Found in lib/avo/concerns/visible_in_different_views.rb - About 2 hrs to fix

                  File resource_component.rb has 269 lines of code (exceeds 250 allowed). Consider refactoring.
                  Open

                  class Avo::ResourceComponent < Avo::BaseComponent
                  include Avo::Concerns::ChecksAssocAuthorization
                  include Avo::Concerns::RequestMethods
                  include Avo::Concerns::HasResourceStimulusControllers
                   
                   
                  Severity: Minor
                  Found in app/components/avo/resource_component.rb - About 2 hrs to fix

                    File associations_controller.rb has 268 lines of code (exceeds 250 allowed). Consider refactoring.
                    Open

                    require_dependency "avo/base_controller"
                     
                    module Avo
                    class AssociationsController < BaseController
                    before_action :set_record, only: [:show, :index, :new, :create, :destroy]
                    Severity: Minor
                    Found in app/controllers/avo/associations_controller.rb - About 2 hrs to fix

                      File resource_generator.rb has 268 lines of code (exceeds 250 allowed). Consider refactoring.
                      Open

                      require_relative "named_base_generator"
                      require_relative "concerns/parent_controller"
                      require_relative "concerns/override_controller"
                       
                      module Generators
                      Severity: Minor
                      Found in lib/generators/avo/resource_generator.rb - About 2 hrs to fix

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

                        def initialize(id, **args, &block)
                        super(id, **args, &block)
                         
                        hide_on :index
                         
                         
                        Severity: Minor
                        Found in lib/avo/fields/key_value_field.rb - About 2 hrs to fix

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

                        def eject_partial
                        if options[:partial].starts_with?(":")
                        template_id = path_to_sym options[:partial]
                        template_path = TEMPLATES[template_id]
                         
                         
                        Severity: Minor
                        Found in lib/generators/avo/eject_generator.rb - About 2 hrs to fix

                        Function item has 54 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                        item({ item, createElement }) {
                        const children = []
                         
                        if (item._avatar) {
                        let classes
                        Severity: Major
                        Found in app/javascript/js/controllers/search_controller.js - About 2 hrs to fix

                          File search_controller.js has 255 lines of code (exceeds 250 allowed). Consider refactoring.
                          Open

                          /* eslint-disable no-underscore-dangle */
                          import * as Mousetrap from 'mousetrap'
                          import { Controller } from '@hotwired/stimulus'
                          import { Turbo } from '@hotwired/turbo-rails'
                          import { autocomplete } from '@algolia/autocomplete-js'
                          Severity: Minor
                          Found in app/javascript/js/controllers/search_controller.js - About 2 hrs to fix
                            Severity
                            Category
                            Status
                            Source
                            Language