datamapper/dm-core

View on GitHub
lib/dm-core/resource.rb

Summary

Maintainability
C
1 day
Test Coverage

File resource.rb has 461 lines of code (exceeds 250 allowed). Consider refactoring.

module DataMapper
  module Resource
    include DataMapper::Assertions

    # Return if Resource#save should raise an exception on save failures (per-resource)
Severity: Minor
Found in lib/dm-core/resource.rb - About 7 hrs to fix

    Method attributes= has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.

        def attributes=(attributes)
          model = self.model
          attributes.each do |name, value|
            case name
              when String, Symbol
    Severity: Minor
    Found in lib/dm-core/resource.rb - About 55 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 parent_relationships has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.

        def parent_relationships
          parent_relationships = []
    
          relationships.each do |relationship|
            next unless relationship.respond_to?(:resource_for)
    Severity: Minor
    Found in lib/dm-core/resource.rb - About 55 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 child_relationships has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.

        def child_relationships
          child_relationships = []
    
          relationships.each do |relationship|
            next unless relationship.respond_to?(:collection_for)
    Severity: Minor
    Found in lib/dm-core/resource.rb - About 45 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 conditions has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.

        def conditions
          key = self.key
          if key
            model.key_conditions(repository, key)
          else
    Severity: Minor
    Found in lib/dm-core/resource.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 save_self has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.

        def save_self(execute_hooks = true)
          # short-circuit if the resource is not dirty
          return saved? unless dirty_self?
    
          if execute_hooks
    Severity: Minor
    Found in lib/dm-core/resource.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 key has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.

        def key
          return @_key if defined?(@_key)
    
          model_key = model.key(repository_name)
    
    
    Severity: Minor
    Found in lib/dm-core/resource.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