YorickPeterse/ruby-lint

View on GitHub
lib/ruby-lint/definitions/gems/mongoid.rb

Summary

Maintainability
F
1 mo
Test Coverage

File mongoid.rb has 6210 lines of code (exceeds 250 allowed). Consider refactoring.
Open

RubyLint.registry.register('Mongoid') do |defs|
  defs.define_constant('Mongoid') do |klass|
    klass.inherits(defs.constant_proxy('Object', RubyLint.registry))

    klass.define_instance_method('configure')
Severity: Major
Found in lib/ruby-lint/definitions/gems/mongoid.rb - About 2 wks to fix

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Modifiers::Entries') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_method('[]') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 1 day to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7156..7282

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 281.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Metadata::Entries') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_method('[]') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 1 day to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 367..493

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 281.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::Mongo') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Queryable', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Atomic', RubyLint.registry))
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 7 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1913..2016

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 246.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Mongo') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Queryable', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Atomic', RubyLint.registry))
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 7 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2937..3040

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 246.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Memory') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Positional', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Queryable', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager', RubyLint.registry))
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 5 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2806..2879

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 172.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::Memory') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Positional', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Queryable', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager', RubyLint.registry))
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 5 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1691..1764

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 172.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::MapReduce') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Command', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 4 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2733..2793

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 140.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::MapReduce') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Command', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 4 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1570..1630

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 140.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::GeoNear') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Command', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 3 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2668..2718

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 125.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::GeoNear') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Command', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 3 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1458..1508

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 125.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::TextSearch') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Command', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 3 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2267..2308

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 108.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::TextSearch') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Command', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 3 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3178..3219

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 108.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::Atomic') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('add_to_set') do |method|
          method.define_argument('adds')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1374..1418

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 101.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Atomic') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('add_to_set') do |method|
          method.define_argument('adds')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2505..2549

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 101.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Embedded::One') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::One', RubyLint.registry))
    
        klass.define_method('builder') do |method|
          method.define_argument('base')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6576..6616

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 98.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Embedded::In') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::One', RubyLint.registry))
    
        klass.define_method('builder') do |method|
          method.define_argument('base')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6734..6774

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 98.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 13 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Modifiers::Bucket') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('delete') do |method|
          method.define_argument('key')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 12 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/core/hash.rb on lines 256..301
    lib/ruby-lint/definitions/core/option_parser.rb on lines 323..368
    lib/ruby-lint/definitions/core/option_parser.rb on lines 793..838
    lib/ruby-lint/definitions/core/syck.rb on lines 661..706
    lib/ruby-lint/definitions/core/syck.rb on lines 963..1008
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7098..7143
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1937..1982
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1905..1950
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2339..2384
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3566..3611
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3870..3915
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1330..1375

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 94.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 13 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Metadata::Bucket') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('delete') do |method|
          method.define_argument('key')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 12 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/core/hash.rb on lines 256..301
    lib/ruby-lint/definitions/core/option_parser.rb on lines 323..368
    lib/ruby-lint/definitions/core/option_parser.rb on lines 793..838
    lib/ruby-lint/definitions/core/syck.rb on lines 661..706
    lib/ruby-lint/definitions/core/syck.rb on lines 963..1008
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 309..354
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1937..1982
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1905..1950
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2339..2384
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3566..3611
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3870..3915
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1330..1375

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 94.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::None::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::QueryCache::CachedCursor::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Metadata::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Memory::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Targets::Enumerable::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::TextSearch::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Modifiers::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::GeoNear::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Mongo::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1633..1668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::MapReduce::Enumerator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
        klass.define_instance_method('each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 496..531
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1512..1547
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1813..1848
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2065..2100
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2195..2230
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2311..2346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2584..2619
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5705..5740
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7285..7320
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8143..8178
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1308..1343

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 86.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Sessions::Options::Proxy') do |klass|
        klass.inherits(defs.constant_proxy('BasicObject', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Sessions::Options::Threaded', RubyLint.registry))
    
        klass.define_method('const_missing') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3084..3113

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 84.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::Proxy') do |klass|
        klass.inherits(defs.constant_proxy('BasicObject', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Sessions::Options::Threaded', RubyLint.registry))
    
        klass.define_method('const_missing') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 2 hrs to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8398..8427

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 84.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Memory::Base') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('each_loaded_document')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2020..2052
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6463..6495

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 76.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Mongo::Base') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('each_loaded_document')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1768..1800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6463..6495

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 76.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Eager::Base') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('each_loaded_document')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1768..1800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2020..2052

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 76.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::None') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Queryable', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2165..2192

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 71.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::None') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Queryable', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Enumerable', RubyLint.registry))
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3044..3071

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 71.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 7 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::CounterCache::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('decrement_counter') do |method|
          method.define_argument('counter_name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 6 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/rspec.rb on lines 133..153
    lib/ruby-lint/definitions/gems/rspec.rb on lines 1868..1888
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5133..5153
    lib/ruby-lint/definitions/gems/rspec.rb on lines 9756..9776
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2636..2656
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5390..5410

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 61.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Modifiers') do |klass|
        klass.inherits(defs.constant_proxy('Hash', RubyLint.registry))
    
        klass.define_instance_method('add_to_set') do |method|
          method.define_argument('modifications')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 1 hr to fix
    lib/ruby-lint/definitions/core/base64.rb on lines 7..31

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 61.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 13 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Modifiers::State') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_method('from') do |method|
          method.define_argument('state')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 12 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/core/hash.rb on lines 509..535
    lib/ruby-lint/definitions/core/option_parser.rb on lines 576..602
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1046..1072
    lib/ruby-lint/definitions/core/syck.rb on lines 914..940
    lib/ruby-lint/definitions/core/syck.rb on lines 1216..1242
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7377..7403
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2205..2231
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2158..2184
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2592..2618
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3819..3845
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4123..4149
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1583..1609

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 60.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 13 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Metadata::State') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_method('from') do |method|
          method.define_argument('state')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 12 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/core/hash.rb on lines 509..535
    lib/ruby-lint/definitions/core/option_parser.rb on lines 576..602
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1046..1072
    lib/ruby-lint/definitions/core/syck.rb on lines 914..940
    lib/ruby-lint/definitions/core/syck.rb on lines 1216..1242
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 588..614
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2205..2231
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2158..2184
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2592..2618
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3819..3845
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4123..4149
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1583..1609

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 60.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::FindAndModify') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Command', RubyLint.registry))
    
        klass.define_instance_method('criteria')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2623..2644

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 59.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::FindAndModify') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Contextual::Command', RubyLint.registry))
    
        klass.define_instance_method('criteria')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1434..1455

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 59.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Aggregable::Mongo') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('aggregates') do |method|
          method.define_argument('field')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/minitest.rb on lines 386..406
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8885..8905
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2618..2638

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 53.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Validatable::Macros') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('validates_associated') do |method|
          method.define_rest_argument('args')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/minitest.rb on lines 386..406
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1350..1370
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2618..2638

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 53.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Hash') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('__consolidate__') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 1 hr to fix
    lib/ruby-lint/definitions/rails/arel.rb on lines 3590..3615

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 53.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 6 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Stateful') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('deleted?')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 5 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/core/irb.rb on lines 1008..1035
    lib/ruby-lint/definitions/core/readline.rb on lines 83..110
    lib/ruby-lint/definitions/core/syck.rb on lines 533..560
    lib/ruby-lint/definitions/core/zlib.rb on lines 119..146
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4342..4369

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 52.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 6 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::String') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('__evolve_object_id__')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 5 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/core/irb.rb on lines 1008..1035
    lib/ruby-lint/definitions/core/readline.rb on lines 83..110
    lib/ruby-lint/definitions/core/syck.rb on lines 533..560
    lib/ruby-lint/definitions/core/zlib.rb on lines 119..146
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8554..8581

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 52.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Cascading::Nullify') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('cascade')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6260..6282
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6285..6307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6335..6357

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 52.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Cascading::Destroy') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('cascade')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6260..6282
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6310..6332
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6335..6357

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 52.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Cascading::Restrict') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('cascade')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6260..6282
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6285..6307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6310..6332

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 52.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Cascading::Delete') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('cascade')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6285..6307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6310..6332
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6335..6357

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 52.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::Findable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('execute_or_raise') do |method|
          method.define_argument('ids')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 4 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/devise.rb on lines 785..802
    lib/ruby-lint/definitions/rails/action_view.rb on lines 1793..1810
    lib/ruby-lint/definitions/rails/action_view.rb on lines 6804..6821
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11725..11742

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 49.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Embedded::Batchable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('batch_clear') do |method|
          method.define_argument('docs')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 1 hr to fix
    lib/ruby-lint/definitions/gems/test.rb on lines 850..867
    lib/ruby-lint/definitions/gems/test.rb on lines 2345..2362

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 49.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::TextSearch::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::MapReduce::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::QueryCache::CachedCursor::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Metadata::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Targets::Enumerable::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::None::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Modifiers::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Mongo::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::GeoNear::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1894..1910
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 192 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Memory::SortedElement') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 191 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/array.rb on lines 417..433
    lib/ruby-lint/definitions/core/basic_socket.rb on lines 486..502
    lib/ruby-lint/definitions/core/cgi.rb on lines 135..151
    lib/ruby-lint/definitions/core/csv.rb on lines 457..473
    lib/ruby-lint/definitions/core/csv.rb on lines 699..715
    lib/ruby-lint/definitions/core/csv.rb on lines 718..734
    lib/ruby-lint/definitions/core/csv.rb on lines 865..881
    lib/ruby-lint/definitions/core/enumerable.rb on lines 167..183
    lib/ruby-lint/definitions/core/file.rb on lines 1213..1229
    lib/ruby-lint/definitions/core/gem.rb on lines 830..846
    lib/ruby-lint/definitions/core/hash.rb on lines 490..506
    lib/ruby-lint/definitions/core/io.rb on lines 746..762
    lib/ruby-lint/definitions/core/ipsocket.rb on lines 440..456
    lib/ruby-lint/definitions/core/irb.rb on lines 375..391
    lib/ruby-lint/definitions/core/matrix.rb on lines 494..510
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 196..212
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 444..460
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 503..519
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 812..828
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1221..1237
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 3256..3272
    lib/ruby-lint/definitions/core/option_parser.rb on lines 557..573
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1027..1043
    lib/ruby-lint/definitions/core/prime.rb on lines 142..158
    lib/ruby-lint/definitions/core/prime.rb on lines 231..247
    lib/ruby-lint/definitions/core/prime.rb on lines 332..348
    lib/ruby-lint/definitions/core/prime.rb on lines 351..367
    lib/ruby-lint/definitions/core/prime.rb on lines 446..462
    lib/ruby-lint/definitions/core/range.rb on lines 137..153
    lib/ruby-lint/definitions/core/set.rb on lines 216..232
    lib/ruby-lint/definitions/core/socket.rb on lines 3126..3142
    lib/ruby-lint/definitions/core/sorted_set.rb on lines 64..80
    lib/ruby-lint/definitions/core/string_io.rb on lines 319..335
    lib/ruby-lint/definitions/core/struct.rb on lines 158..174
    lib/ruby-lint/definitions/core/syck.rb on lines 396..412
    lib/ruby-lint/definitions/core/syck.rb on lines 509..525
    lib/ruby-lint/definitions/core/syck.rb on lines 895..911
    lib/ruby-lint/definitions/core/syck.rb on lines 1197..1213
    lib/ruby-lint/definitions/core/tcpserver.rb on lines 427..443
    lib/ruby-lint/definitions/core/tcpsocket.rb on lines 441..457
    lib/ruby-lint/definitions/core/udpsocket.rb on lines 442..458
    lib/ruby-lint/definitions/core/unixserver.rb on lines 426..442
    lib/ruby-lint/definitions/core/unixsocket.rb on lines 455..471
    lib/ruby-lint/definitions/core/vector.rb on lines 201..217
    lib/ruby-lint/definitions/core/webrick.rb on lines 580..596
    lib/ruby-lint/definitions/core/zlib.rb on lines 291..307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 569..585
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1551..1567
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1672..1688
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2146..2162
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2234..2250
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2350..2366
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3159..3175
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5744..5760
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7358..7374
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8182..8198
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1072..1088
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 1306..1322
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2133..2149
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2569..2585
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2794..2810
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3104..3120
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3323..3339
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3542..3558
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 3779..3795
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4125..4141
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4378..4394
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4596..4612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4877..4893
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5144..5160
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5363..5379
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 5899..5915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6157..6173
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6321..6337
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6876..6892
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7022..7038
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7560..7576
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1382..1398
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2186..2202
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2371..2387
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 511..527
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 881..897
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1202..1218
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2501..2517
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2787..2803
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4069..4085
    lib/ruby-lint/definitions/rails/active_model.rb on lines 209..225
    lib/ruby-lint/definitions/rails/active_model.rb on lines 530..546
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3947..3963
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6631..6647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6806..6822
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7150..7166
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8816..8832
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1280..1296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1753..1769
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2139..2155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2573..2589
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3800..3816
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4104..4120
    lib/ruby-lint/definitions/rails/arel.rb on lines 115..131
    lib/ruby-lint/definitions/rails/arel.rb on lines 258..274
    lib/ruby-lint/definitions/rails/arel.rb on lines 401..417
    lib/ruby-lint/definitions/rails/arel.rb on lines 544..560
    lib/ruby-lint/definitions/rails/arel.rb on lines 687..703
    lib/ruby-lint/definitions/rails/arel.rb on lines 830..846
    lib/ruby-lint/definitions/rails/arel.rb on lines 973..989
    lib/ruby-lint/definitions/rails/arel.rb on lines 1116..1132
    lib/ruby-lint/definitions/rails/arel.rb on lines 1238..1254
    lib/ruby-lint/definitions/rails/arel.rb on lines 1506..1522
    lib/ruby-lint/definitions/rails/arel.rb on lines 1587..1603
    lib/ruby-lint/definitions/rails/arel.rb on lines 1646..1662
    lib/ruby-lint/definitions/rails/arel.rb on lines 1712..1728
    lib/ruby-lint/definitions/rails/arel.rb on lines 1771..1787
    lib/ruby-lint/definitions/rails/arel.rb on lines 1830..1846
    lib/ruby-lint/definitions/rails/arel.rb on lines 1889..1905
    lib/ruby-lint/definitions/rails/arel.rb on lines 1948..1964
    lib/ruby-lint/definitions/rails/arel.rb on lines 2031..2047
    lib/ruby-lint/definitions/rails/arel.rb on lines 2142..2158
    lib/ruby-lint/definitions/rails/arel.rb on lines 2206..2222
    lib/ruby-lint/definitions/rails/arel.rb on lines 2279..2295
    lib/ruby-lint/definitions/rails/arel.rb on lines 2345..2361
    lib/ruby-lint/definitions/rails/arel.rb on lines 2409..2425
    lib/ruby-lint/definitions/rails/arel.rb on lines 2468..2484
    lib/ruby-lint/definitions/rails/arel.rb on lines 2533..2549
    lib/ruby-lint/definitions/rails/arel.rb on lines 2592..2608
    lib/ruby-lint/definitions/rails/arel.rb on lines 2656..2672
    lib/ruby-lint/definitions/rails/arel.rb on lines 2715..2731
    lib/ruby-lint/definitions/rails/arel.rb on lines 2774..2790
    lib/ruby-lint/definitions/rails/arel.rb on lines 2865..2881
    lib/ruby-lint/definitions/rails/arel.rb on lines 2929..2945
    lib/ruby-lint/definitions/rails/arel.rb on lines 2993..3009
    lib/ruby-lint/definitions/rails/arel.rb on lines 3084..3100
    lib/ruby-lint/definitions/rails/arel.rb on lines 3143..3159
    lib/ruby-lint/definitions/rails/arel.rb on lines 3202..3218
    lib/ruby-lint/definitions/rails/arel.rb on lines 3261..3277
    lib/ruby-lint/definitions/rails/arel.rb on lines 3321..3337
    lib/ruby-lint/definitions/rails/arel.rb on lines 3380..3396
    lib/ruby-lint/definitions/rails/arel.rb on lines 3439..3455
    lib/ruby-lint/definitions/rails/arel.rb on lines 3512..3528
    lib/ruby-lint/definitions/rails/arel.rb on lines 3571..3587
    lib/ruby-lint/definitions/rails/arel.rb on lines 3653..3669
    lib/ruby-lint/definitions/rails/arel.rb on lines 3712..3728
    lib/ruby-lint/definitions/rails/arel.rb on lines 3771..3787
    lib/ruby-lint/definitions/rails/arel.rb on lines 3838..3854
    lib/ruby-lint/definitions/rails/arel.rb on lines 3897..3913
    lib/ruby-lint/definitions/rails/arel.rb on lines 3956..3972
    lib/ruby-lint/definitions/rails/arel.rb on lines 4015..4031
    lib/ruby-lint/definitions/rails/arel.rb on lines 4074..4090
    lib/ruby-lint/definitions/rails/arel.rb on lines 4133..4149
    lib/ruby-lint/definitions/rails/arel.rb on lines 4192..4208
    lib/ruby-lint/definitions/rails/arel.rb on lines 4251..4267
    lib/ruby-lint/definitions/rails/arel.rb on lines 4316..4332
    lib/ruby-lint/definitions/rails/arel.rb on lines 4396..4412
    lib/ruby-lint/definitions/rails/arel.rb on lines 4474..4490
    lib/ruby-lint/definitions/rails/arel.rb on lines 4552..4568
    lib/ruby-lint/definitions/rails/arel.rb on lines 4611..4627
    lib/ruby-lint/definitions/rails/arel.rb on lines 4670..4686
    lib/ruby-lint/definitions/rails/arel.rb on lines 4729..4745
    lib/ruby-lint/definitions/rails/arel.rb on lines 4788..4804
    lib/ruby-lint/definitions/rails/arel.rb on lines 4847..4863
    lib/ruby-lint/definitions/rails/arel.rb on lines 4906..4922
    lib/ruby-lint/definitions/rails/arel.rb on lines 4965..4981
    lib/ruby-lint/definitions/rails/arel.rb on lines 5024..5040
    lib/ruby-lint/definitions/rails/arel.rb on lines 5092..5108
    lib/ruby-lint/definitions/rails/arel.rb on lines 5156..5172
    lib/ruby-lint/definitions/rails/arel.rb on lines 5220..5236
    lib/ruby-lint/definitions/rails/arel.rb on lines 5284..5300
    lib/ruby-lint/definitions/rails/arel.rb on lines 5398..5414
    lib/ruby-lint/definitions/rails/arel.rb on lines 5494..5510
    lib/ruby-lint/definitions/rails/arel.rb on lines 5608..5624
    lib/ruby-lint/definitions/rails/arel.rb on lines 5673..5689
    lib/ruby-lint/definitions/rails/arel.rb on lines 5732..5748
    lib/ruby-lint/definitions/rails/arel.rb on lines 5804..5820
    lib/ruby-lint/definitions/rails/arel.rb on lines 5863..5879
    lib/ruby-lint/definitions/rails/arel.rb on lines 5927..5943
    lib/ruby-lint/definitions/rails/arel.rb on lines 6007..6023
    lib/ruby-lint/definitions/rails/arel.rb on lines 6066..6082
    lib/ruby-lint/definitions/rails/arel.rb on lines 6125..6141
    lib/ruby-lint/definitions/rails/arel.rb on lines 6193..6209
    lib/ruby-lint/definitions/rails/arel.rb on lines 6287..6303
    lib/ruby-lint/definitions/rails/arel.rb on lines 6360..6376
    lib/ruby-lint/definitions/rails/arel.rb on lines 6456..6472
    lib/ruby-lint/definitions/rails/arel.rb on lines 6516..6532
    lib/ruby-lint/definitions/rails/arel.rb on lines 6575..6591
    lib/ruby-lint/definitions/rails/arel.rb on lines 6952..6968
    lib/ruby-lint/definitions/rails/arel.rb on lines 7373..7389
    lib/ruby-lint/definitions/rails/rails.rb on lines 986..1002
    lib/ruby-lint/definitions/rails/rails.rb on lines 1584..1600
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 954..970
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1564..1580

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 16 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Equality') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('<=>') do |method|
          method.define_argument('other')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 15 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/erb.rb on lines 269..285
    lib/ruby-lint/definitions/core/uri.rb on lines 88..104
    lib/ruby-lint/definitions/core/uri.rb on lines 470..486
    lib/ruby-lint/definitions/gems/glib.rb on lines 3566..3582
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1330..1346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6006..6022
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8589..8605
    lib/ruby-lint/definitions/gems/rspec.rb on lines 3268..3284
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 569..585
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1375..1391
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2738..2754
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2384..2400
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11695..11711
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1201..1217
    lib/ruby-lint/definitions/rails/arel.rb on lines 1411..1427

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 16 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Tasks::Database') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('create_indexes') do |method|
          method.define_optional_argument('models')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 15 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/erb.rb on lines 269..285
    lib/ruby-lint/definitions/core/uri.rb on lines 88..104
    lib/ruby-lint/definitions/core/uri.rb on lines 470..486
    lib/ruby-lint/definitions/gems/glib.rb on lines 3566..3582
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1330..1346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3281..3297
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6006..6022
    lib/ruby-lint/definitions/gems/rspec.rb on lines 3268..3284
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 569..585
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1375..1391
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2738..2754
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2384..2400
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11695..11711
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1201..1217
    lib/ruby-lint/definitions/rails/arel.rb on lines 1411..1427

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 16 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Bindings::Referenced::ManyToMany') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Binding', RubyLint.registry))
    
        klass.define_instance_method('bind_one') do |method|
          method.define_argument('doc')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 15 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/erb.rb on lines 269..285
    lib/ruby-lint/definitions/core/uri.rb on lines 88..104
    lib/ruby-lint/definitions/core/uri.rb on lines 470..486
    lib/ruby-lint/definitions/gems/glib.rb on lines 3566..3582
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1330..1346
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3281..3297
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8589..8605
    lib/ruby-lint/definitions/gems/rspec.rb on lines 3268..3284
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 569..585
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1375..1391
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2738..2754
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2384..2400
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11695..11711
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1201..1217
    lib/ruby-lint/definitions/rails/arel.rb on lines 1411..1427

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 16 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Aggregable::Memory') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('avg') do |method|
          method.define_argument('field')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 15 other locations - About 55 mins to fix
    lib/ruby-lint/definitions/core/erb.rb on lines 269..285
    lib/ruby-lint/definitions/core/uri.rb on lines 88..104
    lib/ruby-lint/definitions/core/uri.rb on lines 470..486
    lib/ruby-lint/definitions/gems/glib.rb on lines 3566..3582
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3281..3297
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6006..6022
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8589..8605
    lib/ruby-lint/definitions/gems/rspec.rb on lines 3268..3284
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 569..585
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1375..1391
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2738..2754
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2384..2400
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11695..11711
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1201..1217
    lib/ruby-lint/definitions/rails/arel.rb on lines 1411..1427

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 45.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('__metadata')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 50 mins to fix
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 79..100
    lib/ruby-lint/definitions/gems/gtk.rb on lines 16715..16736
    lib/ruby-lint/definitions/gems/minitest.rb on lines 612..633

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 43.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Object::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('__mongoize_fk__') do |method|
          method.define_argument('constraint')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 45 mins to fix
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1101..1114
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1264..1277

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 41.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 6 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Factory') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('build') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 5 other locations - About 45 mins to fix
    lib/ruby-lint/definitions/rails/action_view.rb on lines 1778..1789
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3315..3326
    lib/ruby-lint/definitions/rails/action_view.rb on lines 6740..6751
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10881..10892
    lib/ruby-lint/definitions/rails/active_support.rb on lines 312..323

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 40.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::DocumentNotFound') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 45 mins to fix
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4692..4705
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4708..4721

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 40.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Sessions') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_method('clear')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 45 mins to fix
    lib/ruby-lint/definitions/gems/rspec.rb on lines 9648..9665

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 39.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Constraint') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('convert') do |method|
          method.define_argument('object')
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 45 mins to fix
    lib/ruby-lint/definitions/gems/rspec.rb on lines 3252..3265

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 39.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Paths::Embedded::One::Many') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Atomic::Paths::Embedded', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 636..646
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 649..659
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5079..5089

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Paths::Embedded::One') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Atomic::Paths::Embedded', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 636..646
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 662..672
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5079..5089

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Paths::Embedded::Many') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Atomic::Paths::Embedded', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 649..659
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 662..672
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5079..5089

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 38.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Builders::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('builder') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5483..5493
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2221..2231
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 929..939
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3276..3286
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 49..59
    lib/ruby-lint/definitions/rails/action_view.rb on lines 6755..6765
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1249..1259
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3125..3135
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7374..7384
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10775..10785
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5228..5238

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 37.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 12 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Persistable::Creatable::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('create') do |method|
          method.define_optional_argument('attributes')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 11 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6080..6090
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2221..2231
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 929..939
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3276..3286
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 49..59
    lib/ruby-lint/definitions/rails/action_view.rb on lines 6755..6765
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1249..1259
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3125..3135
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7374..7384
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10775..10785
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5228..5238

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 37.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InverseNotFound') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('base')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3306..3315
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3454..3463
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1442..1451

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 37.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidFieldOption') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3306..3315
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3643..3652
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1442..1451

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 37.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Memory::HasAndBelongsToMany') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager::Base', RubyLint.registry))
    
        klass.define_instance_method('group_by_key')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2104..2117
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6508..6521

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 37.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 4 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::AmbiguousRelationship') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 3 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3454..3463
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3643..3652
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1442..1451

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 37.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Mongo::HasAndBelongsToMany') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager::Base', RubyLint.registry))
    
        klass.define_instance_method('group_by_key')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1852..1865
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6508..6521

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 37.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Eager::HasAndBelongsToMany') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager::Base', RubyLint.registry))
    
        klass.define_instance_method('group_by_key')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 40 mins to fix
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1852..1865
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2104..2117

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 37.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 15 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Modifiers::Iterator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('state')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 14 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/hash.rb on lines 466..476
    lib/ruby-lint/definitions/core/option_parser.rb on lines 533..543
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1003..1013
    lib/ruby-lint/definitions/core/syck.rb on lines 871..881
    lib/ruby-lint/definitions/core/syck.rb on lines 1173..1183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7324..7334
    lib/ruby-lint/definitions/gems/rspec.rb on lines 3063..3073
    lib/ruby-lint/definitions/gems/rspec.rb on lines 7713..7723
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2152..2162
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2115..2125
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2549..2559
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3776..3786
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4080..4090
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1540..1550

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 36.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 15 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Metadata::Iterator') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('state')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 14 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/hash.rb on lines 466..476
    lib/ruby-lint/definitions/core/option_parser.rb on lines 533..543
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1003..1013
    lib/ruby-lint/definitions/core/syck.rb on lines 871..881
    lib/ruby-lint/definitions/core/syck.rb on lines 1173..1183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 535..545
    lib/ruby-lint/definitions/gems/rspec.rb on lines 3063..3073
    lib/ruby-lint/definitions/gems/rspec.rb on lines 7713..7723
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2152..2162
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2115..2125
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2549..2559
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3776..3786
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4080..4090
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 1540..1550

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 36.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 16 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::QueryCache::Middleware') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('call') do |method|
          method.define_argument('env')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 15 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/tempfile.rb on lines 54..64
    lib/ruby-lint/definitions/gems/rspec.rb on lines 8788..8798
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1756..1766
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 355..365
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 747..757
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1258..1268
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 3674..3684
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4443..4453
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3647..3657
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4070..4080
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6299..6309
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7419..7429
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8965..8975
    lib/ruby-lint/definitions/rails/active_support.rb on lines 2798..2808
    lib/ruby-lint/definitions/rails/rails.rb on lines 1658..1668

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 36.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Array::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('__mongoize_fk__') do |method|
          method.define_argument('constraint')
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 35 mins to fix
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7639..7651

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 36.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Matchable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_method('matcher') do |method|
          method.define_argument('document')
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/matrix.rb on lines 286..296
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1666..1676

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 36.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Validatable::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('validates_relation') do |method|
          method.define_argument('metadata')
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/gem.rb on lines 1931..1943
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 893..905

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 36.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Sessions::StorageOptions::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('collection_name')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 35 mins to fix
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2520..2534

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 36.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 7 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Validatable::UniquenessValidator') do |klass|
        klass.inherits(defs.constant_proxy('ActiveModel::EachValidator', RubyLint.registry))
        klass.inherits(defs.constant_proxy('Mongoid::Validatable::Queryable', RubyLint.registry))
    
        klass.define_instance_method('validate_each') do |method|
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 6 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1337..1344
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1409..1416
    lib/ruby-lint/definitions/rails/active_record.rb on lines 2431..2438
    lib/ruby-lint/definitions/rails/active_record.rb on lines 2581..2588
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10076..10083
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10231..10238

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 35.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 10 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::Validations') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('document')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 9 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/no_method_error.rb on lines 7..18
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 711..722
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 953..964
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 1941..1952
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 2579..2590
    lib/ruby-lint/definitions/rails/action_view.rb on lines 7152..7163
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5206..5217
    lib/ruby-lint/definitions/rails/rails.rb on lines 1280..1291
    lib/ruby-lint/definitions/rails/rails.rb on lines 2342..2353

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 10 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidSetPolymorphicRelation') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 9 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/resolv.rb on lines 737..745
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3499..3507
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3516..3524
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2262..2270
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5950..5958
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5962..5970
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6039..6047
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1455..1463
    lib/ruby-lint/definitions/rails/arel.rb on lines 2095..2103

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 10 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidOptions') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 9 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/resolv.rb on lines 737..745
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3499..3507
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3564..3572
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2262..2270
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5950..5958
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5962..5970
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6039..6047
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1455..1463
    lib/ruby-lint/definitions/rails/arel.rb on lines 2095..2103

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 10 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidIndex') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 9 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/resolv.rb on lines 737..745
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3516..3524
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3564..3572
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2262..2270
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5950..5958
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5962..5970
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6039..6047
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1455..1463
    lib/ruby-lint/definitions/rails/arel.rb on lines 2095..2103

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Mongo::HasMany') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager::Base', RubyLint.registry))
    
        klass.define_instance_method('group_by_key')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 4 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/condition_variable.rb on lines 7..18
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1869..1880
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6525..6536
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7440..7451

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Memory::HasMany') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager::Base', RubyLint.registry))
    
        klass.define_instance_method('group_by_key')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 4 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/condition_variable.rb on lines 7..18
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2121..2132
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6525..6536
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7440..7451

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::One') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Proxy', RubyLint.registry))
    
        klass.define_instance_method('__evolve_object_id__')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 4 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/condition_variable.rb on lines 7..18
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1869..1880
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2121..2132
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6525..6536

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Eager::HasMany') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Eager::Base', RubyLint.registry))
    
        klass.define_instance_method('group_by_key')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 4 other locations - About 35 mins to fix
    lib/ruby-lint/definitions/core/condition_variable.rb on lines 7..18
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1869..1880
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2121..2132
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7440..7451

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Config::Options') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('defaults')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 35 mins to fix
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 7654..7666

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 34.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 7 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Fields::Localized') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Fields::Standard', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 6 other locations - About 30 mins to fix
    lib/ruby-lint/definitions/core/gem.rb on lines 1745..1755
    lib/ruby-lint/definitions/gems/gtk.rb on lines 15416..15426
    lib/ruby-lint/definitions/gems/gtk.rb on lines 20261..20271
    lib/ruby-lint/definitions/gems/rspec.rb on lines 923..933
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 960..970
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1081..1091

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 32.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 8 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Time::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('configured')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 7 other locations - About 30 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 9806..9816
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11682..11692
    lib/ruby-lint/definitions/gems/gtk.rb on lines 12575..12585
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13321..13331
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13355..13365
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13389..13399
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1055..1065

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 32.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::NoSessionDatabase') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidIncludes') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::UnknownAttribute') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::MixedSessionConfiguration') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::DocumentNotDestroyed') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('id')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::NestedAttributesMetadataNotFound') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::NoSessionHosts') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::UnsavedDocument') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('base')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::DeleteRestriction') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('document')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidValue') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('field_class')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::MixedRelations') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('root_klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::UnsupportedJavascript') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::Callback') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidScope') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidStorageOptions') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::ReadonlyAttribute') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::TooManyNestedAttributeRecords') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('association')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidField') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3883..3890
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 50 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::ScopeOverwrite') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('model_name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 49 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8188..8195
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8199..8206
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8210..8217
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8272..8279
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8283..8290
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8294..8301
    lib/ruby-lint/definitions/gems/gtk.rb on lines 11850..11857
    lib/ruby-lint/definitions/gems/gtk.rb on lines 13119..13126
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22244..22251
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22255..22262
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22271..22278
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22282..22289
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22293..22300
    lib/ruby-lint/definitions/gems/gtk.rb on lines 22304..22311
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3324..3331
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3340..3347
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3356..3363
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3438..3445
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3483..3490
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3548..3555
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3581..3588
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3627..3634
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3661..3668
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3677..3684
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3707..3714
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3809..3816
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3825..3832
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3852..3859
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3899..3906
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3915..3922
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3931..3938
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3947..3954
    lib/ruby-lint/definitions/gems/test.rb on lines 1231..1238
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 418..425
    lib/ruby-lint/definitions/rails/active_model.rb on lines 282..289
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5939..5946
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5974..5981
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5985..5992
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5996..6003
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6007..6014
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6018..6025
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6115..6122
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3340..3347
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3541..3548
    lib/ruby-lint/definitions/rails/arel.rb on lines 1460..1467
    lib/ruby-lint/definitions/rails/arel.rb on lines 2487..2494
    lib/ruby-lint/definitions/rails/arel.rb on lines 4270..4277
    lib/ruby-lint/definitions/rails/arel.rb on lines 5562..5569
    lib/ruby-lint/definitions/rails/arel.rb on lines 5627..5634

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 31.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 6 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('collection_name')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 5 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/syck.rb on lines 222..232
    lib/ruby-lint/definitions/gems/devise.rb on lines 1753..1763
    lib/ruby-lint/definitions/gems/devise.rb on lines 1920..1930
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8370..8380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8384..8394

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 30.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 6 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Sessions::Options') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('collection_name')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 5 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/syck.rb on lines 222..232
    lib/ruby-lint/definitions/gems/devise.rb on lines 1753..1763
    lib/ruby-lint/definitions/gems/devise.rb on lines 1920..1930
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2558..2568
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8384..8394

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 30.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 6 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Sessions::Options::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('collection_name')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 5 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/syck.rb on lines 222..232
    lib/ruby-lint/definitions/gems/devise.rb on lines 1753..1763
    lib/ruby-lint/definitions/gems/devise.rb on lines 1920..1930
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2558..2568
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8370..8380

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 30.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Boolean') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_method('evolve') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Persistable::Pushable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('add_to_set') do |method|
          method.define_argument('adds')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Reflections') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('reflect_on_all_associations') do |method|
          method.define_rest_argument('macros')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::TimeWithZone::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Persistable::Destroyable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('destroy') do |method|
          method.define_optional_argument('options')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Set::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Float::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Integer::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::DateTime::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Persistable::Savable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('save') do |method|
          method.define_optional_argument('options')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Symbol::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Persistable::Deletable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('delete') do |method|
          method.define_optional_argument('options')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Bindings::Embedded::Many') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Binding', RubyLint.registry))
    
        klass.define_instance_method('bind_one') do |method|
          method.define_argument('doc')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Bindings::Referenced::Many') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Relations::Binding', RubyLint.registry))
    
        klass.define_instance_method('bind_one') do |method|
          method.define_argument('doc')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Cyclic::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('recursively_embeds_many') do |method|
          method.define_optional_argument('options')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::BigDecimal::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Date::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Reflections::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('reflect_on_all_associations') do |method|
          method.define_rest_argument('macros')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::ObjectId::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('evolve') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Range::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Persistable::Pullable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('pull') do |method|
          method.define_argument('pulls')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4372..4380
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 54 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::String::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('demongoize') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 53 other locations - About 25 mins to fix
    lib/ruby-lint/definitions/core/drb.rb on lines 137..145
    lib/ruby-lint/definitions/core/drb_id_conv.rb on lines 7..15
    lib/ruby-lint/definitions/core/gem.rb on lines 1023..1031
    lib/ruby-lint/definitions/core/resolv.rb on lines 518..526
    lib/ruby-lint/definitions/gems/devise.rb on lines 969..977
    lib/ruby-lint/definitions/gems/devise.rb on lines 1934..1942
    lib/ruby-lint/definitions/gems/glib.rb on lines 569..577
    lib/ruby-lint/definitions/gems/glib.rb on lines 2955..2963
    lib/ruby-lint/definitions/gems/glib.rb on lines 3837..3845
    lib/ruby-lint/definitions/gems/glib.rb on lines 3894..3902
    lib/ruby-lint/definitions/gems/glib.rb on lines 4075..4083
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 446..454
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6118..6126
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 846..854
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4040..4048
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4060..4068
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4085..4093
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4115..4123
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4175..4183
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4277..4285
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4299..4307
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4330..4338
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4390..4398
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4433..4441
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5497..5505
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5517..5525
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5566..5574
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5578..5586
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5598..5606
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5937..5945
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5988..5996
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6422..6430
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7970..7978
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 7982..7990
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5359..5367
    lib/ruby-lint/definitions/gems/tree.rb on lines 198..206
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1855..1863
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2721..2729
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2941..2949
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 3264..3272
    lib/ruby-lint/definitions/rails/action_mailer.rb on lines 1106..1114
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3663..3671
    lib/ruby-lint/definitions/rails/active_model.rb on lines 293..301
    lib/ruby-lint/definitions/rails/active_model.rb on lines 328..336
    lib/ruby-lint/definitions/rails/active_record.rb on lines 707..715
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3139..3147
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6170..6178
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7433..7441
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1411..1419
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1488..1496
    lib/ruby-lint/definitions/rails/active_support.rb on lines 3147..3155
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4307..4315
    lib/ruby-lint/definitions/rails/arel.rb on lines 7256..7264

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 29.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::ReadonlyDocument') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidCollection') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::NoSessionConfig') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::NoDefaultSession') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('keys')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::NoMapReduceOutput') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('command')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidTime') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('value')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidStorageParent') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::NoMetadata') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::NoParent') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::EagerLoad') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidPath') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3423..3429
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 60 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::InvalidConfigOption') do |klass|
        klass.inherits(defs.constant_proxy('Mongoid::Errors::MongoidError', RubyLint.registry))
    
        klass.define_instance_method('initialize') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 59 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/interrupt.rb on lines 7..13
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 883..889
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 893..899
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 903..909
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 913..919
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 923..929
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 933..939
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 943..949
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 953..959
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 963..969
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 973..979
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 983..989
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1003..1009
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1013..1019
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1023..1029
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1033..1039
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1043..1049
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1063..1069
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1073..1079
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1083..1089
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1093..1099
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1103..1109
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1308..1314
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1395..1401
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3393..3399
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3408..3414
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3533..3539
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3597..3603
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3612..3618
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3723..3729
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3749..3755
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3764..3770
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3779..3785
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3794..3800
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3868..3874
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 370..376
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1700..1706
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2926..2932
    lib/ruby-lint/definitions/rails/action_view.rb on lines 495..501
    lib/ruby-lint/definitions/rails/action_view.rb on lines 2301..2307
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3883..3889
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5243..5249
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5522..5528
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5590..5596
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5600..5606
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5806..5812
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5929..5935
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6029..6035
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6051..6057
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8229..8235
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11643..11649
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5615..5621
    lib/ruby-lint/definitions/rails/arel.rb on lines 2948..2954
    lib/ruby-lint/definitions/rails/arel.rb on lines 5111..5117
    lib/ruby-lint/definitions/rails/arel.rb on lines 5175..5181
    lib/ruby-lint/definitions/rails/arel.rb on lines 5239..5245
    lib/ruby-lint/definitions/rails/arel.rb on lines 7025..7031
    lib/ruby-lint/definitions/rails/arel.rb on lines 7268..7274
    lib/ruby-lint/definitions/rails/arel.rb on lines 7875..7881

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 29 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Validatable::PresenceValidator') do |klass|
        klass.inherits(defs.constant_proxy('ActiveModel::EachValidator', RubyLint.registry))
    
        klass.define_instance_method('validate_each') do |method|
          method.define_argument('document')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 28 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1228..1234
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1253..1259
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1272..1278
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3849..3855
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8530..8536
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4717..4723
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5174..5180
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5659..5665
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8823..8829
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8875..8881
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 700..706
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4847..4853
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4857..4863
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5069..5075
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4433..4439
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1213..1219
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1492..1498
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1502..1508
    lib/ruby-lint/definitions/rails/active_record.rb on lines 72..78
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1578..1584
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1641..1647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3115..3121
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8675..8681
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9223..9229
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9286..9292
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10765..10771
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11715..11721
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4152..4158

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 29 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Indexable::Validators::Options') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('validate') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 28 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1228..1234
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1253..1259
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1272..1278
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3849..3855
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8530..8536
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4717..4723
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5659..5665
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8823..8829
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8875..8881
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8909..8915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 700..706
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4847..4853
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4857..4863
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5069..5075
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4433..4439
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1213..1219
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1492..1498
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1502..1508
    lib/ruby-lint/definitions/rails/active_record.rb on lines 72..78
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1578..1584
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1641..1647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3115..3121
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8675..8681
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9223..9229
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9286..9292
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10765..10771
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11715..11721
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4152..4158

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 29 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Fields::Validators::Macro') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('validate') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 28 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1228..1234
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1253..1259
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1272..1278
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3849..3855
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8530..8536
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5174..5180
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5659..5665
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8823..8829
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8875..8881
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8909..8915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 700..706
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4847..4853
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4857..4863
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5069..5075
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4433..4439
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1213..1219
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1492..1498
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1502..1508
    lib/ruby-lint/definitions/rails/active_record.rb on lines 72..78
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1578..1584
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1641..1647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3115..3121
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8675..8681
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9223..9229
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9286..9292
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10765..10771
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11715..11721
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4152..4158

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 29 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Validatable::Localizable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('validate_each') do |method|
          method.define_argument('document')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 28 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1228..1234
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1253..1259
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1272..1278
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3849..3855
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8530..8536
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4717..4723
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5174..5180
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5659..5665
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8823..8829
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8909..8915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 700..706
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4847..4853
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4857..4863
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5069..5075
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4433..4439
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1213..1219
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1492..1498
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1502..1508
    lib/ruby-lint/definitions/rails/active_record.rb on lines 72..78
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1578..1584
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1641..1647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3115..3121
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8675..8681
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9223..9229
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9286..9292
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10765..10771
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11715..11721
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4152..4158

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 29 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Positional') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('positionally') do |method|
          method.define_argument('selector')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 28 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1228..1234
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1253..1259
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1272..1278
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3849..3855
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8530..8536
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4717..4723
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5174..5180
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8823..8829
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8875..8881
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8909..8915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 700..706
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4847..4853
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4857..4863
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5069..5075
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4433..4439
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1213..1219
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1492..1498
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1502..1508
    lib/ruby-lint/definitions/rails/active_record.rb on lines 72..78
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1578..1584
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1641..1647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3115..3121
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8675..8681
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9223..9229
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9286..9292
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10765..10771
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11715..11721
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4152..4158

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 29 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Validatable::AssociatedValidator') do |klass|
        klass.inherits(defs.constant_proxy('ActiveModel::EachValidator', RubyLint.registry))
    
        klass.define_instance_method('validate_each') do |method|
          method.define_argument('document')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 28 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1228..1234
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1253..1259
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1272..1278
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3849..3855
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8530..8536
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4717..4723
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5174..5180
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 5659..5665
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8875..8881
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8909..8915
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 700..706
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4847..4853
    lib/ruby-lint/definitions/gems/rspec.rb on lines 4857..4863
    lib/ruby-lint/definitions/gems/rspec.rb on lines 5069..5075
    lib/ruby-lint/definitions/rails/action_view.rb on lines 4433..4439
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1213..1219
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1492..1498
    lib/ruby-lint/definitions/rails/active_model.rb on lines 1502..1508
    lib/ruby-lint/definitions/rails/active_record.rb on lines 72..78
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1578..1584
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1641..1647
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3115..3121
    lib/ruby-lint/definitions/rails/active_record.rb on lines 8675..8681
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9223..9229
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9286..9292
    lib/ruby-lint/definitions/rails/active_record.rb on lines 10765..10771
    lib/ruby-lint/definitions/rails/active_record.rb on lines 11715..11721
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4152..4158

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 20 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Queryable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('blank?')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 19 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/encoding.rb on lines 1098..1109
    lib/ruby-lint/definitions/core/encoding.rb on lines 1217..1228
    lib/ruby-lint/definitions/core/json.rb on lines 288..299
    lib/ruby-lint/definitions/core/json.rb on lines 414..425
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1929..1940
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2324..2335
    lib/ruby-lint/definitions/core/syck.rb on lines 252..263
    lib/ruby-lint/definitions/core/syck.rb on lines 637..648
    lib/ruby-lint/definitions/gems/glib.rb on lines 3586..3597
    lib/ruby-lint/definitions/gems/gtk.rb on lines 3245..3256
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8902..8913
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 432..443
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 622..633
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3117..3128
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 710..721
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2376..2387
    lib/ruby-lint/definitions/rails/active_model.rb on lines 340..351
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5723..5734
    lib/ruby-lint/definitions/rails/arel.rb on lines 6144..6155

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 20 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Atomic::Paths::Embedded') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('delete_modifier')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 19 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/encoding.rb on lines 1098..1109
    lib/ruby-lint/definitions/core/encoding.rb on lines 1217..1228
    lib/ruby-lint/definitions/core/json.rb on lines 288..299
    lib/ruby-lint/definitions/core/json.rb on lines 414..425
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1929..1940
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2324..2335
    lib/ruby-lint/definitions/core/syck.rb on lines 252..263
    lib/ruby-lint/definitions/core/syck.rb on lines 637..648
    lib/ruby-lint/definitions/gems/glib.rb on lines 3586..3597
    lib/ruby-lint/definitions/gems/gtk.rb on lines 3245..3256
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8902..8913
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 432..443
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2253..2264
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3117..3128
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 710..721
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2376..2387
    lib/ruby-lint/definitions/rails/active_model.rb on lines 340..351
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5723..5734
    lib/ruby-lint/definitions/rails/arel.rb on lines 6144..6155

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 20 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::Queryable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('blank?')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 19 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/encoding.rb on lines 1098..1109
    lib/ruby-lint/definitions/core/encoding.rb on lines 1217..1228
    lib/ruby-lint/definitions/core/json.rb on lines 288..299
    lib/ruby-lint/definitions/core/json.rb on lines 414..425
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 1929..1940
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2324..2335
    lib/ruby-lint/definitions/core/syck.rb on lines 252..263
    lib/ruby-lint/definitions/core/syck.rb on lines 637..648
    lib/ruby-lint/definitions/gems/glib.rb on lines 3586..3597
    lib/ruby-lint/definitions/gems/gtk.rb on lines 3245..3256
    lib/ruby-lint/definitions/gems/gtk.rb on lines 8902..8913
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 432..443
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 622..633
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2253..2264
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 710..721
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2376..2387
    lib/ruby-lint/definitions/rails/active_model.rb on lines 340..351
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5723..5734
    lib/ruby-lint/definitions/rails/arel.rb on lines 6144..6155

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Config::Environment') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('env_name')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 1 other location - About 20 mins to fix
    lib/ruby-lint/definitions/rails/arel.rb on lines 6871..6878

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 28.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 5 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Persistable') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('atomically')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 4 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/rails/abstract_controller.rb on lines 81..90
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1678..1687
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1757..1766
    lib/ruby-lint/definitions/rails/active_support.rb on lines 864..873

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 27.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 3 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::AutoSave') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('__autosaving__')
    
    
    Severity: Minor
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 2 other locations - About 20 mins to fix
    lib/ruby-lint/definitions/core/socket.rb on lines 2381..2389
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 4759..4767

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 27.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 55 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Contextual::Command') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('collection')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 54 other locations - About 15 mins to fix
    lib/ruby-lint/definitions/core/csv.rb on lines 422..431
    lib/ruby-lint/definitions/core/etc.rb on lines 90..99
    lib/ruby-lint/definitions/core/gem.rb on lines 1354..1363
    lib/ruby-lint/definitions/core/irb.rb on lines 340..349
    lib/ruby-lint/definitions/core/json.rb on lines 194..203
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 367..376
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2621..2630
    lib/ruby-lint/definitions/core/prime.rb on lines 95..104
    lib/ruby-lint/definitions/core/prime.rb on lines 184..193
    lib/ruby-lint/definitions/core/prime.rb on lines 399..408
    lib/ruby-lint/definitions/core/syck.rb on lines 625..634
    lib/ruby-lint/definitions/core/webrick.rb on lines 545..554
    lib/ruby-lint/definitions/gems/glib.rb on lines 552..561
    lib/ruby-lint/definitions/gems/glib.rb on lines 2309..2318
    lib/ruby-lint/definitions/gems/glib.rb on lines 2617..2626
    lib/ruby-lint/definitions/gems/glib.rb on lines 2639..2648
    lib/ruby-lint/definitions/gems/glib.rb on lines 2786..2795
    lib/ruby-lint/definitions/gems/glib.rb on lines 2808..2817
    lib/ruby-lint/definitions/gems/gtk.rb on lines 6114..6123
    lib/ruby-lint/definitions/gems/gtk.rb on lines 6146..6155
    lib/ruby-lint/definitions/gems/gtk.rb on lines 7718..7727
    lib/ruby-lint/definitions/gems/minitest.rb on lines 88..97
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 2572..2581
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2028..2037
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2603..2612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4686..4695
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6216..6225
    lib/ruby-lint/definitions/gems/rspec.rb on lines 8415..8424
    lib/ruby-lint/definitions/gems/rspec.rb on lines 9714..9723
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1347..1356
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2336..2345
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 369..378
    lib/ruby-lint/definitions/rails/active_model.rb on lines 174..183
    lib/ruby-lint/definitions/rails/active_model.rb on lines 305..314
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3912..3921
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4517..4526
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6596..6605
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6771..6780
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7115..7124
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5679..5688
    lib/ruby-lint/definitions/rails/arel.rb on lines 80..89
    lib/ruby-lint/definitions/rails/arel.rb on lines 223..232
    lib/ruby-lint/definitions/rails/arel.rb on lines 366..375
    lib/ruby-lint/definitions/rails/arel.rb on lines 509..518
    lib/ruby-lint/definitions/rails/arel.rb on lines 652..661
    lib/ruby-lint/definitions/rails/arel.rb on lines 795..804
    lib/ruby-lint/definitions/rails/arel.rb on lines 938..947
    lib/ruby-lint/definitions/rails/arel.rb on lines 1081..1090
    lib/ruby-lint/definitions/rails/arel.rb on lines 1257..1266
    lib/ruby-lint/definitions/rails/arel.rb on lines 1665..1674
    lib/ruby-lint/definitions/rails/arel.rb on lines 2298..2307
    lib/ruby-lint/definitions/rails/arel.rb on lines 6917..6926
    lib/ruby-lint/definitions/rails/arel.rb on lines 7338..7347
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 919..928

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 25.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 55 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Criteria::Command') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('collection')
    
    
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 54 other locations - About 15 mins to fix
    lib/ruby-lint/definitions/core/csv.rb on lines 422..431
    lib/ruby-lint/definitions/core/etc.rb on lines 90..99
    lib/ruby-lint/definitions/core/gem.rb on lines 1354..1363
    lib/ruby-lint/definitions/core/irb.rb on lines 340..349
    lib/ruby-lint/definitions/core/json.rb on lines 194..203
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 367..376
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2621..2630
    lib/ruby-lint/definitions/core/prime.rb on lines 95..104
    lib/ruby-lint/definitions/core/prime.rb on lines 184..193
    lib/ruby-lint/definitions/core/prime.rb on lines 399..408
    lib/ruby-lint/definitions/core/syck.rb on lines 625..634
    lib/ruby-lint/definitions/core/webrick.rb on lines 545..554
    lib/ruby-lint/definitions/gems/glib.rb on lines 552..561
    lib/ruby-lint/definitions/gems/glib.rb on lines 2309..2318
    lib/ruby-lint/definitions/gems/glib.rb on lines 2617..2626
    lib/ruby-lint/definitions/gems/glib.rb on lines 2639..2648
    lib/ruby-lint/definitions/gems/glib.rb on lines 2786..2795
    lib/ruby-lint/definitions/gems/glib.rb on lines 2808..2817
    lib/ruby-lint/definitions/gems/gtk.rb on lines 6114..6123
    lib/ruby-lint/definitions/gems/gtk.rb on lines 6146..6155
    lib/ruby-lint/definitions/gems/gtk.rb on lines 7718..7727
    lib/ruby-lint/definitions/gems/minitest.rb on lines 88..97
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 1422..1431
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2028..2037
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 2603..2612
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 4686..4695
    lib/ruby-lint/definitions/gems/nokogiri.rb on lines 6216..6225
    lib/ruby-lint/definitions/gems/rspec.rb on lines 8415..8424
    lib/ruby-lint/definitions/gems/rspec.rb on lines 9714..9723
    lib/ruby-lint/definitions/gems/sinatra.rb on lines 1347..1356
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2336..2345
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 369..378
    lib/ruby-lint/definitions/rails/active_model.rb on lines 174..183
    lib/ruby-lint/definitions/rails/active_model.rb on lines 305..314
    lib/ruby-lint/definitions/rails/active_record.rb on lines 3912..3921
    lib/ruby-lint/definitions/rails/active_record.rb on lines 4517..4526
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6596..6605
    lib/ruby-lint/definitions/rails/active_record.rb on lines 6771..6780
    lib/ruby-lint/definitions/rails/active_record.rb on lines 7115..7124
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5679..5688
    lib/ruby-lint/definitions/rails/arel.rb on lines 80..89
    lib/ruby-lint/definitions/rails/arel.rb on lines 223..232
    lib/ruby-lint/definitions/rails/arel.rb on lines 366..375
    lib/ruby-lint/definitions/rails/arel.rb on lines 509..518
    lib/ruby-lint/definitions/rails/arel.rb on lines 652..661
    lib/ruby-lint/definitions/rails/arel.rb on lines 795..804
    lib/ruby-lint/definitions/rails/arel.rb on lines 938..947
    lib/ruby-lint/definitions/rails/arel.rb on lines 1081..1090
    lib/ruby-lint/definitions/rails/arel.rb on lines 1257..1266
    lib/ruby-lint/definitions/rails/arel.rb on lines 1665..1674
    lib/ruby-lint/definitions/rails/arel.rb on lines 2298..2307
    lib/ruby-lint/definitions/rails/arel.rb on lines 6917..6926
    lib/ruby-lint/definitions/rails/arel.rb on lines 7338..7347
    lib/ruby-lint/definitions/rails/sprockets.rb on lines 919..928

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 25.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 40 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Errors::MongoidError') do |klass|
        klass.inherits(defs.constant_proxy('StandardError', RubyLint.registry))
    
        klass.define_instance_method('compose_message') do |method|
          method.define_argument('key')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 39 other locations - About 15 mins to fix
    lib/ruby-lint/definitions/core/abbrev.rb on lines 7..12
    lib/ruby-lint/definitions/core/erb.rb on lines 255..260
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2774..2779
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1263..1268
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1282..1287
    lib/ruby-lint/definitions/core/uri.rb on lines 1051..1056
    lib/ruby-lint/definitions/core/uri.rb on lines 1319..1324
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 2837..2842
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3606..3611
    lib/ruby-lint/definitions/gems/devise.rb on lines 1824..1829
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6807..6812
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 762..767
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4187..4192
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6376..6381
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8524..8529
    lib/ruby-lint/definitions/gems/rspec.rb on lines 92..97
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2217..2222
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2226..2231
    lib/ruby-lint/definitions/gems/rspec.rb on lines 6514..6519
    lib/ruby-lint/definitions/gems/test.rb on lines 1918..1923
    lib/ruby-lint/definitions/gems/test.rb on lines 2602..2607
    lib/ruby-lint/definitions/gems/test.rb on lines 2626..2631
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 967..972
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1015..1020
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2670..2675
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 659..664
    lib/ruby-lint/definitions/rails/action_view.rb on lines 526..531
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3675..3680
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5274..5279
    lib/ruby-lint/definitions/rails/active_record.rb on lines 36..41
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1877..1882
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5610..5615
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9522..9527
    lib/ruby-lint/definitions/rails/active_support.rb on lines 701..706
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1500..1505
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4319..4324
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5166..5171
    lib/ruby-lint/definitions/rails/arel.rb on lines 7948..7953
    lib/ruby-lint/definitions/rails/rails.rb on lines 667..672

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 25.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 40 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Sessions::Validators::Storage') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('validate') do |method|
          method.define_argument('klass')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 39 other locations - About 15 mins to fix
    lib/ruby-lint/definitions/core/abbrev.rb on lines 7..12
    lib/ruby-lint/definitions/core/erb.rb on lines 255..260
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2774..2779
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1263..1268
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1282..1287
    lib/ruby-lint/definitions/core/uri.rb on lines 1051..1056
    lib/ruby-lint/definitions/core/uri.rb on lines 1319..1324
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 2837..2842
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3606..3611
    lib/ruby-lint/definitions/gems/devise.rb on lines 1824..1829
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6807..6812
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 762..767
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3693..3698
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4187..4192
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6376..6381
    lib/ruby-lint/definitions/gems/rspec.rb on lines 92..97
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2217..2222
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2226..2231
    lib/ruby-lint/definitions/gems/rspec.rb on lines 6514..6519
    lib/ruby-lint/definitions/gems/test.rb on lines 1918..1923
    lib/ruby-lint/definitions/gems/test.rb on lines 2602..2607
    lib/ruby-lint/definitions/gems/test.rb on lines 2626..2631
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 967..972
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1015..1020
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2670..2675
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 659..664
    lib/ruby-lint/definitions/rails/action_view.rb on lines 526..531
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3675..3680
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5274..5279
    lib/ruby-lint/definitions/rails/active_record.rb on lines 36..41
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1877..1882
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5610..5615
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9522..9527
    lib/ruby-lint/definitions/rails/active_support.rb on lines 701..706
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1500..1505
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4319..4324
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5166..5171
    lib/ruby-lint/definitions/rails/arel.rb on lines 7948..7953
    lib/ruby-lint/definitions/rails/rails.rb on lines 667..672

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 25.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 40 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Relations::Conversions') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('flag') do |method|
          method.define_argument('object')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 39 other locations - About 15 mins to fix
    lib/ruby-lint/definitions/core/abbrev.rb on lines 7..12
    lib/ruby-lint/definitions/core/erb.rb on lines 255..260
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2774..2779
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1263..1268
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1282..1287
    lib/ruby-lint/definitions/core/uri.rb on lines 1051..1056
    lib/ruby-lint/definitions/core/uri.rb on lines 1319..1324
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 2837..2842
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3606..3611
    lib/ruby-lint/definitions/gems/devise.rb on lines 1824..1829
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6807..6812
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 762..767
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3693..3698
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4187..4192
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8524..8529
    lib/ruby-lint/definitions/gems/rspec.rb on lines 92..97
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2217..2222
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2226..2231
    lib/ruby-lint/definitions/gems/rspec.rb on lines 6514..6519
    lib/ruby-lint/definitions/gems/test.rb on lines 1918..1923
    lib/ruby-lint/definitions/gems/test.rb on lines 2602..2607
    lib/ruby-lint/definitions/gems/test.rb on lines 2626..2631
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 967..972
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1015..1020
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2670..2675
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 659..664
    lib/ruby-lint/definitions/rails/action_view.rb on lines 526..531
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3675..3680
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5274..5279
    lib/ruby-lint/definitions/rails/active_record.rb on lines 36..41
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1877..1882
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5610..5615
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9522..9527
    lib/ruby-lint/definitions/rails/active_support.rb on lines 701..706
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1500..1505
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4319..4324
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5166..5171
    lib/ruby-lint/definitions/rails/arel.rb on lines 7948..7953
    lib/ruby-lint/definitions/rails/rails.rb on lines 667..672

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 25.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 40 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Attributes::ClassMethods') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('alias_attribute') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 39 other locations - About 15 mins to fix
    lib/ruby-lint/definitions/core/abbrev.rb on lines 7..12
    lib/ruby-lint/definitions/core/erb.rb on lines 255..260
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2774..2779
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1263..1268
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1282..1287
    lib/ruby-lint/definitions/core/uri.rb on lines 1051..1056
    lib/ruby-lint/definitions/core/uri.rb on lines 1319..1324
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 2837..2842
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3606..3611
    lib/ruby-lint/definitions/gems/devise.rb on lines 1824..1829
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6807..6812
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3693..3698
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 4187..4192
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6376..6381
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8524..8529
    lib/ruby-lint/definitions/gems/rspec.rb on lines 92..97
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2217..2222
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2226..2231
    lib/ruby-lint/definitions/gems/rspec.rb on lines 6514..6519
    lib/ruby-lint/definitions/gems/test.rb on lines 1918..1923
    lib/ruby-lint/definitions/gems/test.rb on lines 2602..2607
    lib/ruby-lint/definitions/gems/test.rb on lines 2626..2631
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 967..972
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1015..1020
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2670..2675
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 659..664
    lib/ruby-lint/definitions/rails/action_view.rb on lines 526..531
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3675..3680
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5274..5279
    lib/ruby-lint/definitions/rails/active_record.rb on lines 36..41
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1877..1882
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5610..5615
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9522..9527
    lib/ruby-lint/definitions/rails/active_support.rb on lines 701..706
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1500..1505
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4319..4324
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5166..5171
    lib/ruby-lint/definitions/rails/arel.rb on lines 7948..7953
    lib/ruby-lint/definitions/rails/rails.rb on lines 667..672

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 25.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    Similar blocks of code found in 40 locations. Consider refactoring.
    Open

      defs.define_constant('Mongoid::Extensions::Module') do |klass|
        klass.inherits(defs.constant_proxy('Object', RubyLint.registry))
    
        klass.define_instance_method('re_define_method') do |method|
          method.define_argument('name')
    Severity: Major
    Found in lib/ruby-lint/definitions/gems/mongoid.rb and 39 other locations - About 15 mins to fix
    lib/ruby-lint/definitions/core/abbrev.rb on lines 7..12
    lib/ruby-lint/definitions/core/erb.rb on lines 255..260
    lib/ruby-lint/definitions/core/open_ssl.rb on lines 2774..2779
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1263..1268
    lib/ruby-lint/definitions/core/option_parser.rb on lines 1282..1287
    lib/ruby-lint/definitions/core/uri.rb on lines 1051..1056
    lib/ruby-lint/definitions/core/uri.rb on lines 1319..1324
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 2837..2842
    lib/ruby-lint/definitions/gems/celluloid.rb on lines 3606..3611
    lib/ruby-lint/definitions/gems/devise.rb on lines 1824..1829
    lib/ruby-lint/definitions/gems/lib_xml.rb on lines 6807..6812
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 762..767
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 3693..3698
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 6376..6381
    lib/ruby-lint/definitions/gems/mongoid.rb on lines 8524..8529
    lib/ruby-lint/definitions/gems/rspec.rb on lines 92..97
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2217..2222
    lib/ruby-lint/definitions/gems/rspec.rb on lines 2226..2231
    lib/ruby-lint/definitions/gems/rspec.rb on lines 6514..6519
    lib/ruby-lint/definitions/gems/test.rb on lines 1918..1923
    lib/ruby-lint/definitions/gems/test.rb on lines 2602..2607
    lib/ruby-lint/definitions/gems/test.rb on lines 2626..2631
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 967..972
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 1015..1020
    lib/ruby-lint/definitions/rails/action_controller.rb on lines 2670..2675
    lib/ruby-lint/definitions/rails/action_dispatch.rb on lines 659..664
    lib/ruby-lint/definitions/rails/action_view.rb on lines 526..531
    lib/ruby-lint/definitions/rails/action_view.rb on lines 3675..3680
    lib/ruby-lint/definitions/rails/action_view.rb on lines 5274..5279
    lib/ruby-lint/definitions/rails/active_record.rb on lines 36..41
    lib/ruby-lint/definitions/rails/active_record.rb on lines 1877..1882
    lib/ruby-lint/definitions/rails/active_record.rb on lines 5610..5615
    lib/ruby-lint/definitions/rails/active_record.rb on lines 9522..9527
    lib/ruby-lint/definitions/rails/active_support.rb on lines 701..706
    lib/ruby-lint/definitions/rails/active_support.rb on lines 1500..1505
    lib/ruby-lint/definitions/rails/active_support.rb on lines 4319..4324
    lib/ruby-lint/definitions/rails/active_support.rb on lines 5166..5171
    lib/ruby-lint/definitions/rails/arel.rb on lines 7948..7953
    lib/ruby-lint/definitions/rails/rails.rb on lines 667..672

    Duplicated Code

    Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

    Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

    When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

    Tuning

    This issue has a mass of 25.

    We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

    The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

    If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

    See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

    Refactorings

    Further Reading

    There are no issues that match your filters.

    Category
    Status