flexirest/flexirest

View on GitHub

Showing 83 of 103 total issues

Avoid deeply nested control flow statements.
Open

      elsif request_body_type == :json
        @body ||= if params.is_a?(String)
          params
        elsif @post_params.is_a?(String)
          @post_params
Severity: Major
Found in lib/flexirest/request.rb - About 45 mins to fix

    Consider simplifying this complex logical expression.
    Open

          if @forced_url && @forced_url.present?
            @url = @forced_url
          else
            @url = @method[:url].dup
            matches = @url.scan(/(:[a-z_-]+)/)
    Severity: Major
    Found in lib/flexirest/request.rb - About 40 mins to fix

      Consider simplifying this complex logical expression.
      Open

            return v if v.is_a?(Date) || v.is_a?(DateTime) ||
                        v.kind_of?(NilClass) || v.kind_of?(TrueClass) || v.kind_of?(FalseClass) || v.kind_of?(Numeric)
      Severity: Major
      Found in lib/flexirest/attribute_parsing.rb - About 40 mins to fix

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

            def self.warn(message)
              if defined?(Rails) && Rails.logger.present?
                Rails.logger.warn(message)
              elsif @logfile
                if @logfile.is_a?(String)
        Severity: Minor
        Found in lib/flexirest/logger.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 parse has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

              def parse(body, object)
                # Save resource class for building lazy association loaders
                save_resource_class(object)
        
                # According to the spec:
        Severity: Minor
        Found in lib/flexirest/json_api_proxy.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 debug has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

            def self.debug(message)
              if defined?(Rails) && Rails.logger.present?
                Rails.logger.debug(message)
              elsif @logfile
                if @logfile.is_a?(String)
        Severity: Minor
        Found in lib/flexirest/logger.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 read_cached_response has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

              def read_cached_response(request, quiet)
                if cache_store && perform_caching && request.method[:method] == :get
                  key = "#{request.class_name}:#{request.original_url}"
                  Flexirest::Logger.debug "  \033[1;4;32m#{Flexirest.name}\033[0m #{key} - Trying to read from cache" unless quiet
                  value = cache_store.read(key)
        Severity: Minor
        Found in lib/flexirest/caching.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 error has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

            def self.error(message)
              if defined?(Rails) && Rails.logger.present?
                Rails.logger.error(message)
              elsif @logfile
                if @logfile.is_a?(String)
        Severity: Minor
        Found in lib/flexirest/logger.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 info has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

            def self.info(message)
              if defined?(Rails) && Rails.logger.present?
                Rails.logger.info(message)
              elsif @logfile
                if @logfile.is_a?(String)
        Severity: Minor
        Found in lib/flexirest/logger.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 append_parameter has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

              def self.append_parameter(fp, key, value)
                if value.is_a?(Array)
                  value.each do |i|
                    append_parameter(fp, "#{key}[]", i)
                  end
        Severity: Minor
        Found in lib/flexirest/multipart.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 sign_request has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
        Open

            def sign_request(request, api_auth)
              return if api_auth[:api_auth_access_id].nil? || api_auth[:api_auth_secret_key].nil?
              ApiAuth.sign!(
                request,
                api_auth[:api_auth_access_id],
        Severity: Minor
        Found in lib/flexirest/connection.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

        Avoid too many return statements within this method.
        Open

                return result if response.finished?
        Severity: Major
        Found in lib/flexirest/request.rb - About 30 mins to fix

          Avoid too many return statements within this method.
          Open

                  return @response_delegate
          Severity: Major
          Found in lib/flexirest/request.rb - About 30 mins to fix

            Method has_one has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                  def has_one(key, klass = nil)
                    if klass.nil?
                      klass = key.to_s.classify.constantize
                    end
            
            
            Severity: Minor
            Found in lib/flexirest/associations.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

            Method translate has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                  def translate(result, options = {})
                    incoming_content_type = result.headers['Content-Type']
                    if result_is_json_or_unspecified?(result)
                      result.headers["content-type"] = "application/hal+json"
                    end
            Severity: Minor
            Found in lib/flexirest/proxy_base.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

            Method proxy has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                  def proxy(value = nil)
                    @proxy ||= nil
                    value ? @proxy = value : @proxy || nil
            
                    if !@proxy.nil?
            Severity: Minor
            Found in lib/flexirest/configuration.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

            Method api_auth_secret_key has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                def api_auth_secret_key
                  ret = nil
                  if object_is_class?
                    ret = @object.api_auth_secret_key
                    ret = ret.call if ret.respond_to?(:call)
            Severity: Minor
            Found in lib/flexirest/request.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

            Method ignore_root has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                  def ignore_root(value=nil)
                    if value.nil?
                      value = if @ignore_root.nil? && superclass.respond_to?(:ignore_root)
                        superclass.ignore_root
                      else
            Severity: Minor
            Found in lib/flexirest/configuration.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

            Method api_auth_access_id has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                def api_auth_access_id
                  ret = nil
                  if object_is_class?
                    ret = @object.api_auth_access_id
                    ret = ret.call if ret.respond_to?(:call)
            Severity: Minor
            Found in lib/flexirest/request.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

            Method wrap_root has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                  def wrap_root(value=nil)
                    if value.nil?
                      value = if @wrap_root.nil? && superclass.respond_to?(:wrap_root)
                        superclass.wrap_root
                      else
            Severity: Minor
            Found in lib/flexirest/configuration.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