af83/chouette-core

View on GitHub

Showing 483 of 922 total issues

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

  def merge!
    logger.tagged("Merge ##{merge.id}") do
      referential.switch do
        Chouette::ChecksumUpdater.new(referential).update
      end
Severity: Minor
Found in app/models/merge/referential/legacy.rb - About 5 days 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

File netex_generic.rb has 1692 lines of code (exceeds 250 allowed). Consider refactoring.
Open

class Export::NetexGeneric < Export::Base
  include LocalExportSupport

  option :profile, enumerize: %w[none french european idfm/iboo idfm/icar idfm/full], default: :none
  option :duration
Severity: Major
Found in app/models/export/netex_generic.rb - About 4 days to fix

    File gtfs.rb has 1375 lines of code (exceeds 250 allowed). Consider refactoring.
    Open

    class Import::Gtfs < Import::Base
      include LocalImportSupport
    
      after_commit :update_main_resource_status, on:  [:create, :update]
    
    
    Severity: Major
    Found in app/models/import/gtfs.rb - About 3 days to fix

      File gtfs.rb has 1351 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      class Export::Gtfs < Export::Base
        include LocalExportSupport
      
        option :period, default_value: 'all_periods', enumerize: %w[all_periods only_next_days static_day_period]
        option :duration
      Severity: Major
      Found in app/models/export/gtfs.rb - About 3 days to fix

        File netex_generic.rb has 1101 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        module Import
          class NetexGeneric < Import::Base
            include LocalImportSupport
            include Imports::WithoutReferentialSupport
        
        
        Severity: Major
        Found in app/models/import/netex_generic.rb - About 2 days to fix

          actions has 94 functions (exceeds 20 allowed). Consider refactoring.
          Open

          const actions = {
            enterEditMode: () => ({
              type: "ENTER_EDIT_MODE"
            }),
            exitEditMode: () => ({
          Severity: Major
          Found in app/packs/src/vehicle_journeys/actions/index.js - About 1 day to fix

            Class Referential has 92 methods (exceeds 20 allowed). Consider refactoring.
            Open

            class Referential < ApplicationModel
              prepend ReferentialSaveWithLock
            
              include DataFormatEnumerations
              include ObjectidFormatterSupport
            Severity: Major
            Found in app/models/referential.rb - About 1 day to fix

              Method merge! has 310 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                def merge!
                  logger.tagged("Merge ##{merge.id}") do
                    referential.switch do
                      Chouette::ChecksumUpdater.new(referential).update
                    end
              Severity: Major
              Found in app/models/merge/referential/legacy.rb - About 1 day to fix

                File base.rb has 664 lines of code (exceeds 250 allowed). Consider refactoring.
                Open

                module Search
                  class Base
                    extend ActiveModel::Naming
                    extend Enumerize
                
                
                Severity: Major
                Found in app/lib/search/base.rb - About 1 day to fix

                  File referential.rb has 647 lines of code (exceeds 250 allowed). Consider refactoring.
                  Open

                  module ReferentialSaveWithLock
                    def save(options = {})
                      super(options)
                    rescue ActiveRecord::StatementInvalid => e
                      Chouette::Safe.capture "Referential #{name} with slug #{slug} save failed", e
                  Severity: Major
                  Found in app/models/referential.rb - About 1 day to fix

                    Class StopArea has 76 methods (exceeds 20 allowed). Consider refactoring.
                    Open

                      class StopArea < Chouette::ActiveRecord
                        include StopAreaReferentialSupport
                    
                        has_metadata
                        include ProjectionFields
                    Severity: Major
                    Found in app/models/chouette/stop_area.rb - About 1 day to fix

                      Function modal has 279 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                      export default function modal(state = {}, action) {
                        switch (action.type) {
                          case 'OPEN_CONFIRM_MODAL':
                            $('#ConfirmModal').modal('show')
                            return _.assign({}, state, {
                      Severity: Major
                      Found in app/packs/src/vehicle_journeys/reducers/modal.js - About 1 day to fix

                        File index.js has 606 lines of code (exceeds 250 allowed). Consider refactoring.
                        Open

                        import { batchActions } from '../batch'
                        
                        const actions = {
                          enterEditMode: () => ({
                            type: "ENTER_EDIT_MODE"
                        Severity: Major
                        Found in app/packs/src/vehicle_journeys/actions/index.js - About 1 day to fix

                          Method tr has a Cognitive Complexity of 63 (exceeds 5 allowed). Consider refactoring.
                          Open

                            def tr item, columns, selectable, links, overhead, model_name, action
                              klass = "#{model_name} #{model_name}-#{item.id}"
                              content_tag :tr, class: klass do
                                bcont = []
                                if selectable
                          Severity: Minor
                          Found in app/helpers/table_builder_helper.rb - About 1 day 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

                          File time_table.rb has 578 lines of code (exceeds 250 allowed). Consider refactoring.
                          Open

                          module Chouette
                            class TimeTable < Referential::Model
                              include ApplicationDaysSupport
                              include ObjectidSupport
                              include TimetableSupport
                          Severity: Major
                          Found in app/models/chouette/time_table.rb - About 1 day to fix

                            Method attribute has a Cognitive Complexity of 60 (exceeds 5 allowed). Consider refactoring.
                            Open

                                def attribute(attribute_name, options = {})
                                  resource = options[:object] || object
                            
                                  if options.key?(:value)
                                    raw_value = options[:value]
                            Severity: Minor
                            Found in app/helpers/simple_block_for_helper.rb - About 1 day 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

                            Class TimeTable has 63 methods (exceeds 20 allowed). Consider refactoring.
                            Open

                              class TimeTable < Referential::Model
                                include ApplicationDaysSupport
                                include ObjectidSupport
                                include TimetableSupport
                                has_metadata
                            Severity: Major
                            Found in app/models/chouette/time_table.rb - About 1 day to fix

                              Method import_stops has a Cognitive Complexity of 58 (exceeds 5 allowed). Consider refactoring.
                              Open

                                def import_stops
                                  sorted_stops = source.stops.sort_by { |s| s.parent_station.present? ? 1 : 0 }
                                  @stop_areas_id_by_registration_number = {}
                              
                                  CustomFieldsSupport.within_workgroup(workbench.workgroup) do
                              Severity: Minor
                              Found in app/models/import/gtfs.rb - About 1 day 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

                              File stop_area.rb has 537 lines of code (exceeds 250 allowed). Consider refactoring.
                              Open

                              require 'geokit'
                              require 'geo_ruby'
                              module Chouette
                                class StopArea < Chouette::ActiveRecord
                                  include StopAreaReferentialSupport
                              Severity: Major
                              Found in app/models/chouette/stop_area.rb - About 1 day to fix

                                File vehicle_journey.rb has 524 lines of code (exceeds 250 allowed). Consider refactoring.
                                Open

                                module Chouette
                                  class VehicleJourney < Referential::Model
                                    include CustomFieldsSupport
                                    include TransportModeEnumerations
                                
                                
                                Severity: Major
                                Found in app/models/chouette/vehicle_journey.rb - About 1 day to fix
                                  Severity
                                  Category
                                  Status
                                  Source
                                  Language