Showing 57 of 57 total issues
Class has too many lines. [162/100] Open
class Minidoc require "minidoc/associations" require "minidoc/connection" require "minidoc/counters" require "minidoc/finders"
- Read upRead up
- Exclude checks
Class Minidoc
has 29 methods (exceeds 20 allowed). Consider refactoring. Open
class Minidoc require "minidoc/associations" require "minidoc/connection" require "minidoc/counters" require "minidoc/finders"
Method has too many lines. [18/10] Open
def belongs_to(association_name, options = {}) options[:class_name] ||= "#{self.parent.name}::#{association_name.to_s.camelize}" association_name = association_name.to_sym associations[association_name] = options
- Read upRead up
- Exclude checks
Method has too many lines. [16/10] Open
def validate_each(record, attribute, value) conditions = scope_conditions(record) if options[:case_sensitive] conditions[attribute] = value
- Read upRead up
- Exclude checks
Method create_or_update
has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring. Open
def create_or_update new_record? ? create : update @new_record = false true rescue Mongo::Error::OperationFailure => exception
- Read upRead up
Redundant self
detected. Open
other.is_a?(self.class) && self.id && self.id == other.id
- Read upRead up
- Exclude checks
Redundant self
detected. Open
other.is_a?(self.class) && self.id && self.id == other.id
- Read upRead up
- Exclude checks
Use alias
instead of alias_method
in a class body. Open
alias_method :id, :_id
- Read upRead up
- Exclude checks
Use nested module/class definitions instead of compact style. Open
class Minidoc::RecordInvalid < StandardError
- Read upRead up
- Exclude checks
%q
-literals should be delimited by (
and )
. Open
spec.summary = %q{Lightweight wrapper for MongoDB documents}
- Read upRead up
- Exclude checks
Missing magic comment # frozen_string_literal: true
. Open
require "bundler/gem_tasks"
- Read upRead up
- Exclude checks
Use the return of the conditional for variable assignment and comparison. Open
if options[:case_sensitive] conditions[attribute] = value else conditions[attribute] = /^#{Regexp.escape(value.to_s)}$/i end
- Exclude checks
Use nested module/class definitions instead of compact style. Open
class Minidoc::ReadOnly < Minidoc::Value
- Read upRead up
- Exclude checks
Missing magic comment # frozen_string_literal: true
. Open
require "active_support/concern"
- Read upRead up
- Exclude checks
Pass __FILE__
and __LINE__
to eval
method, as they are used by backtraces. Open
class_eval(<<-EOM)
- Read upRead up
- Exclude checks
Missing magic comment # frozen_string_literal: true
. Open
require "active_support/concern"
- Read upRead up
- Exclude checks
Use nested module/class definitions instead of compact style. Open
class Minidoc::Grid
- Read upRead up
- Exclude checks
Use nested module/class definitions instead of compact style. Open
module Minidoc::Validations
- Read upRead up
- Exclude checks
Missing magic comment # frozen_string_literal: true
. Open
# coding: utf-8
- Read upRead up
- Exclude checks
Missing magic comment # frozen_string_literal: true
. Open
require "active_support/concern"
- Read upRead up
- Exclude checks