mender/protein

View on GitHub

Showing 16 of 16 total issues

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

  class Control
    delegate :config, :logger, :daemon, :process, :to => :Protein

    def stop
      daemon_stop
Severity: Minor
Found in lib/protein/control.rb - About 3 hrs to fix

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

      class Process
        delegate :config, :logger, :redis, :callbacks, :to => :Protein
        attr_accessor :running
        attr_accessor :can_fork
    
    
    Severity: Minor
    Found in lib/protein/process.rb - About 2 hrs to fix

      Class CollectionItem has 24 methods (exceeds 20 allowed). Consider refactoring.
      Open

          class CollectionItem
            delegate :config, :logger, :redis, :to => :Protein
            attr_reader :collection
      
            def self.dummy
      Severity: Minor
      Found in lib/protein/worker/collection.rb - About 2 hrs to fix

        File process.rb has 274 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        module Protein
          class Process
            delegate :config, :logger, :redis, :callbacks, :to => :Protein
            attr_accessor :running
            attr_accessor :can_fork
        Severity: Minor
        Found in lib/protein/process.rb - About 2 hrs to fix

          File collection.rb has 271 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          require 'protein/worker/lock'
          require 'protein/uuid'
          
          module Protein
            class Worker
          Severity: Minor
          Found in lib/protein/worker/collection.rb - About 2 hrs to fix

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

              class Job
                class << self
                  delegate :config, :logger, :redis, :to => :Protein
            
                  def default_middleware
            Severity: Minor
            Found in lib/protein/job.rb - About 2 hrs to fix

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

                class Queue
                  class << self
                    delegate :config, :redis, :to => :Protein
              
                    def blpop(timeout = 0)
              Severity: Minor
              Found in lib/protein/queue.rb - About 2 hrs to fix

                Method reopen has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
                Open

                    def reopen
                      exception_handling do
                        unless stdout?
                          close unless closed?
                          if @log_file.respond_to?(:write)
                Severity: Minor
                Found in lib/protein/logger.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 start_thread has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                Open

                    def start_thread(worker, job)
                      # обрабатываем задачи, пока текущий процесс может их обрабатывать (см. stale?)
                      catch(:stop_thread) do
                        while job
                          job_care(job) do
                Severity: Minor
                Found in lib/protein/strategy/multi.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 has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                Open

                    def add(severity, message = nil, progname = nil, &block)
                      exception_handling do
                        return if @level > severity
                        reopen if closed?
                        message = message || (block && block.call) || progname
                Severity: Minor
                Found in lib/protein/logger.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 all has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                      def self.all
                        @all ||= {
                          :log_level       => :debug,
                          :log_file        => STDOUT,
                
                
                Severity: Minor
                Found in lib/protein/configuration/default.rb - About 1 hr to fix

                  Method fork has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                  Open

                      def fork
                        before_spawn
                        if fork = kernel_fork
                          # in parent
                          after_spawn(fork)
                  Severity: Minor
                  Found in lib/protein/process.rb - About 35 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 constantize has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                  Open

                      def constantize(camel_cased_word)
                        names = camel_cased_word.split('::')
                        names.shift if names.empty? || names.first.empty?
                  
                        constant = Object
                  Severity: Minor
                  Found in lib/protein/job.rb - About 35 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 after_fork_callback has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                  Open

                      def after_fork_callback(env)
                        return unless self.defined?
                        Protein.callbacks.after_fork do
                          if defined?(ActiveRecord::Base) && ActiveRecord::Base.connected?
                            ActiveRecord::Base.connection.reconnect!
                  Severity: Minor
                  Found in lib/protein/rails_app.rb - About 35 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 release_lock has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                  Open

                        def release_lock
                          yield_result = block_given? ? yield : nil
                          lock_result = lock.release
                          block_given? ? yield_result : lock_result
                        rescue => e
                  Severity: Minor
                  Found in lib/protein/worker/collection.rb - About 35 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 get_lock has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                  Open

                        def get_lock
                          lock.acquire do |id|
                            # TODO избавиться
                            # если дождались свободного места в пуле,
                            # но во время ожидания пришла команда на остановку процесса
                  Severity: Minor
                  Found in lib/protein/worker/collection.rb - About 25 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

                  Severity
                  Category
                  Status
                  Source
                  Language