npolar/api.npolar.no

View on GitHub
lib/npolar/api/core.rb

Summary

Maintainability
C
1 day
Test Coverage

Method handle has a Cognitive Complexity of 25 (exceeds 5 allowed). Consider refactoring.
Open

    def handle(request)
      log.debug self.class.name+"#handle #{request.request_method} #{request.url}"

      if storage.nil?
        return http_error(501, "No storage set for API endpoint, cannot handle request")
Severity: Minor
Found in lib/npolar/api/core.rb - About 3 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 handle has 49 lines of code (exceeds 25 allowed). Consider refactoring.
Open

    def handle(request)
      log.debug self.class.name+"#handle #{request.request_method} #{request.url}"

      if storage.nil?
        return http_error(501, "No storage set for API endpoint, cannot handle request")
Severity: Minor
Found in lib/npolar/api/core.rb - About 1 hr to fix

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

        def after(request, response)
          
          # Force response to Rack::Response   
          if response.is_a? Rack::Response
            headers = response.headers
    Severity: Minor
    Found in lib/npolar/api/core.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 after has 31 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        def after(request, response)
          
          # Force response to Rack::Response   
          if response.is_a? Rack::Response
            headers = response.headers
    Severity: Minor
    Found in lib/npolar/api/core.rb - About 1 hr to fix

      Avoid too many return statements within this method.
      Open

                return http_error(422, errors)
      Severity: Major
      Found in lib/npolar/api/core.rb - About 30 mins to fix

        Avoid too many return statements within this method.
        Open

                  return http_error(415, "Unsupported: #{request.media_type}. Acceptable POST/PUT media types are: '#{accepts.join(", ")}'")
        Severity: Major
        Found in lib/npolar/api/core.rb - About 30 mins to fix

          Avoid too many return statements within this method.
          Open

                    return http_error(400, "#{request.request_method} document with no body")
          Severity: Major
          Found in lib/npolar/api/core.rb - About 30 mins to fix

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

                def before(request)
            
                  before = config[:before]||[]
                  if storage.respond_to? :model and storage.model.class.respond_to? :before
                    before << storage.model.class.before
            Severity: Minor
            Found in lib/npolar/api/core.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 options has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
            Open

                def options
                  # OK <- An Allow header field MUST be present in a 405 (Method Not Allowed) response.
                  # @todo <- If the Request-URI is an asterisk ("*"), the OPTIONS request is intended to apply to the server in general rather than to a specific resource.
                  # OK <- If no response body is included, the response MUST include a Content-Length field with a field-value of "0".
                  
            Severity: Minor
            Found in lib/npolar/api/core.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

            There are no issues that match your filters.

            Category
            Status