mysociety/alaveteli

View on GitHub

Showing 331 of 436 total issues

Class MailServerLog has 23 methods (exceeds 20 allowed). Consider refactoring.
Open

class MailServerLog < ApplicationRecord
  # `serialize` needs to be called before all other ActiveRecord code.
  # See http://stackoverflow.com/a/15610692/387558
  serialize :delivery_status, DeliveryStatusSerializer

Severity: Minor
Found in app/models/mail_server_log.rb - About 2 hrs to fix

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

    module LinkToHelper
      # Links to various models
    
      # Requests
      def request_url(info_request, options = {})
    Severity: Minor
    Found in app/helpers/link_to_helper.rb - About 2 hrs to fix

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

        def new
          if params[:comment]
            # TODO: this check should theoretically be a validation rule in the model
            @existing_comment = Comment.find_existing(@info_request.id, params[:comment][:body])
          else
      Severity: Minor
      Found in app/controllers/comment_controller.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 update has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
      Open

        def update
          @pretoken_redirect = PostRedirect.find_by(token: @pretoken) if @pretoken
      
          if @password_change_user
            @password_change_user.password = params[:password_change_user][:password]
      Severity: Minor
      Found in app/controllers/password_changes_controller.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 _destroy_and_rebuild_index_safely has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
      Open

        def self._destroy_and_rebuild_index_safely(model_classes, verbose, terms, values, texts)
          batch_size = 1000
          model_classes.each do |model_class|
            model_class_count = model_class.count
            0.step(model_class_count, batch_size) do |i|
      Severity: Minor
      Found in lib/acts_as_xapian/acts_as_xapian.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 other_country_message has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
      Open

        def other_country_message
          flash.keep
      
          text = ""
          site_country_code = AlaveteliConfiguration.iso_country_code.downcase
      Severity: Minor
      Found in app/controllers/services_controller.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 show has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
      Open

        def show
          long_cache
          @page = get_search_page_from_params
          requests_per_page = 25
      
      
      Severity: Minor
      Found in app/controllers/public_body_controller.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 set_profile_photo has a Cognitive Complexity of 18 (exceeds 5 allowed). Consider refactoring.
      Open

        def set_profile_photo
          # check they are logged in (the upload photo option is anyway only available when logged in)
          unless authenticated?
            flash[:error] = _("You need to be logged in to change your profile photo.")
            redirect_to frontpage_url
      Severity: Minor
      Found in app/controllers/user_controller.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

      Class FoiAttachment has 22 methods (exceeds 20 allowed). Consider refactoring.
      Open

      class FoiAttachment < ApplicationRecord
        include Rails.application.routes.url_helpers
        include LinkToHelper
        include MessageProminence
      
      
      Severity: Minor
      Found in app/models/foi_attachment.rb - About 2 hrs to fix

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

        def main(in_test_mode)
          Dir.chdir($alaveteli_dir) do
            raw_message = $stdin.read
        
            begin
        Severity: Minor
        Found in script/handle-mail-replies.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 calculate_event_states has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
        Open

          def calculate_event_states
            curr_state = nil
            info_request_events.reverse.each do |event|
              event.xapian_mark_needs_index # we need to reindex all events in order to update their latest_* terms
              if curr_state.nil?
        Severity: Minor
        Found in app/models/info_request.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 set_locale_fields_from_csv_row has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
        Open

          def set_locale_fields_from_csv_row(is_new, locale, row, options)
            changed = ActiveSupport::OrderedHash.new
            csv_field_names = options[:field_names]
            csv_import_fields.each do |field_name, _field_notes|
              localized_field_name = self.class.localized_csv_field_name(locale, field_name)
        Severity: Minor
        Found in app/models/public_body.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 decode_attached_part has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
        Open

              def decode_attached_part(part, parent_mail)
                if get_content_type(part) == 'message/rfc822'
                  # An email attached as text
                  part.rfc822_attachment = mail_from_raw_email(part.body)
                  if part.rfc822_attachment.nil?
        Severity: Minor
        Found in lib/mail_handler/backends/mail_backend.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

        Class AttachmentsController has 21 methods (exceeds 20 allowed). Consider refactoring.
        Open

        class AttachmentsController < ApplicationController
          include FragmentCachable
          include InfoRequestHelper
          include PublicTokenable
        
        
        Severity: Minor
        Found in app/controllers/attachments_controller.rb - About 2 hrs to fix

          Method create has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
          Open

            def create
              if @post_redirect.present?
                @user_signin =
                  User.authenticate_from_form(user_signin_params,
                                              @post_redirect.reason_params[:user_name])
          Severity: Minor
          Found in app/controllers/users/sessions_controller.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 destroy_and_rebuild_index has 50 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

            def self.destroy_and_rebuild_index(model_classes, verbose = false, terms = true, values = true, texts = true, safe_rebuild = true)
              #raise "when rebuilding all, please call as first and only thing done in process / task" if not ActsAsXapian.writable_db.nil?
              prepare_environment
          
              update_existing = !(terms == true && values == true && texts == true)
          Severity: Minor
          Found in lib/acts_as_xapian/acts_as_xapian.rb - About 2 hrs to fix

            Method set_profile_photo has 49 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

              def set_profile_photo
                # check they are logged in (the upload photo option is anyway only available when logged in)
                unless authenticated?
                  flash[:error] = _("You need to be logged in to change your profile photo.")
                  redirect_to frontpage_url
            Severity: Minor
            Found in app/controllers/user_controller.rb - About 1 hr to fix

              Method load_file has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
              Open

                def self.load_file(file_name)
                  is_gz = file_name.include?(".gz")
                  file_name_db = is_gz ? file_name.gsub(".gz", "") : file_name
              
                  modified = File.stat(file_name).mtime
              Severity: Minor
              Found in app/models/mail_server_log.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 who_can_followup_to has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
              Open

                def who_can_followup_to(skip_message = nil)
                  ret = []
                  done = {}
                  if skip_message
                    if (email = OutgoingMailer.email_for_followup(self, skip_message))
              Severity: Minor
              Found in app/models/info_request.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 add_correspondence has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
              Open

                def add_correspondence
                  json = ActiveSupport::JSON.decode(params[:correspondence_json])
                  attachments = params[:attachments]
              
                  direction = json["direction"]
              Severity: Minor
              Found in app/controllers/api_controller.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

              Severity
              Category
              Status
              Source
              Language