znamenica/dneslov

View on GitHub
app/models/memory.rb

Summary

Maintainability
D
1 day
Test Coverage
F
42%

Class has too many lines. [627/100]
Open

class Memory < ActiveRecord::Base
   extend TotalSize
   extend DefaultKey
   extend Informatible
   include WithTitles
Severity: Minor
Found in app/models/memory.rb by rubocop

This cop checks if the length a class exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

File memory.rb has 629 lines of code (exceeds 250 allowed). Consider refactoring.
Open

class Memory < ActiveRecord::Base
   extend TotalSize
   extend DefaultKey
   extend Informatible
   include WithTitles
Severity: Major
Found in app/models/memory.rb - About 1 day to fix

    Block has too many lines. [107/25]
    Open

       scope :with_events, -> context do
          as = table.table_alias || table.name
          language_codes = [context[:locales]].flatten
          alphabeth_codes = Languageble.alphabeth_list_for( language_codes ).flatten
          selector = self.select_values.dup
    Severity: Minor
    Found in app/models/memory.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [93/25]
    Open

       scope :with_names, -> (context) do
          language_codes = [context[:locales]].flatten
    =begin
    with recursive t(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) as (
            with recursive tt(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) as (SELECT 0,nm.text,n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,mn.state_code,mn.mode,mn.feasible FROM nomina n JOIN names nm ON nm.id = n.name_id JOIN memory_names mn ON mn.nomen_id = n.id WHERE  mn.memory_id = 2989 UNION SELECT level + 1, path || ' > ' || nm.text, n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,tt.state_code,tt.mode,tt.feasible FROM nomina n JOIN tt ON n.root_id = tt.root_id AND  tt.bond_to_id = n.name_id JOIN names nm ON nm.id = n.name_id JOIN names nm_t ON nm_t.id = tt.name_id AND nm_t.language_code <> nm.language_code LEFT OUTER JOIN memory_names mn ON n.root_id = mn.nomen_id AND mn.memory_id = 2989 ) select * from tt
    Severity: Minor
    Found in app/models/memory.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Block has too many lines. [71/25]
    Open

       scope :with_memoes, -> context do
          as = table.table_alias || table.name
          language_codes = [ context[:locales] ].flatten
          cslugs_rule = context[:calendary_slugs] ? "AND calendary_slugs.text IN ('#{context[:calendary_slugs].join("','")}')" : ""
    
    
    Severity: Minor
    Found in app/models/memory.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Method has too many lines. [27/15]
    Open

       def set_base_year
          types = %w(Resurrection Repose Writing Appearance Translation Sanctification)
    
          event = self.events.to_a.sort_by { |x| (types.index(x.kind) || 100) }.first
    
    
    Severity: Minor
    Found in app/models/memory.rb by rubocop

    This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

    Cyclomatic complexity for set_base_year is too high. [10/6]
    Open

       def set_base_year
          types = %w(Resurrection Repose Writing Appearance Translation Sanctification)
    
          event = self.events.to_a.sort_by { |x| (types.index(x.kind) || 100) }.first
    
    
    Severity: Minor
    Found in app/models/memory.rb by rubocop

    This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

    An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

    Block has too many lines. [36/25]
    Open

       scope :with_icon, -> context do
          as = table.table_alias || table.name
          language_codes = [ context[:locales] ].flatten
          selector = self.select_values.dup
          selector << "#{as}.*" if selector.empty?
    Severity: Minor
    Found in app/models/memory.rb by rubocop

    This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

    Method set_base_year has 27 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

       def set_base_year
          types = %w(Resurrection Repose Writing Appearance Translation Sanctification)
    
          event = self.events.to_a.sort_by { |x| (types.index(x.kind) || 100) }.first
    
    
    Severity: Minor
    Found in app/models/memory.rb - About 1 hr to fix

      Block has too many lines. [33/25]
      Open

         scope :with_memory_names, -> context do
            language_codes = [ context[:locales] ].flatten
            selector = self.select_values.dup
            if self.select_values.dup.empty?
               selector << 'memories.*'
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

      Block has too many lines. [28/25]
      Open

         scope :with_bond_memories, ->(context) do
            as = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for( language_codes ).flatten
      
      
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

      Block has too many lines. [26/25]
      Open

         scope :with_scripta, -> (context) do
            as = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = context[:codes] || Languageble.alphabeth_list_for(language_codes).flatten
            calendaries_join =
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks if the length of a block exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable. The cop can be configured to ignore blocks passed to certain methods.

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

         scope :by_tokens, -> string_in do
            return self if string_in.blank?
            # TODO fix the correctness of the query
            klass = self.model_name.name.constantize
            or_rel_tokens = string_in.split(/\//).map do |or_token|
      Severity: Major
      Found in app/models/memory.rb and 6 other locations - About 1 hr to fix
      app/models/calendary.rb on lines 56..68
      app/models/concerns/tokens.rb on lines 6..18
      app/models/memo.rb on lines 148..163
      app/models/name.rb on lines 23..37
      app/models/order.rb on lines 25..37
      app/models/subject.rb on lines 30..42

      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 55.

      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

         scope :with_slug, -> do
            selector = self.select_values.dup
            if self.select_values.dup.empty?
               selector << 'memories.*'
            end
      Severity: Minor
      Found in app/models/memory.rb and 2 other locations - About 25 mins to fix
      app/models/calendary.rb on lines 155..167
      app/models/order.rb on lines 74..86

      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 3 locations. Consider refactoring.
      Open

         scope :with_slug_text, -> do
            selector = self.select_values.dup
            if selector.empty?
               selector << 'memories.*'
            end
      Severity: Minor
      Found in app/models/memory.rb and 2 other locations - About 20 mins to fix
      app/models/memo.rb on lines 121..129
      app/models/memo.rb on lines 363..371

      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

      Space inside parentheses detected.
      Open

         scope :icons, -> { joins( :slugs ).where( slugs: { text: :обр } ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Unused block argument - context. If it's necessary, use _ or _context as an argument name to indicate that it won't be used. Also consider using a proc without arguments instead of a lambda if you want it to accept any arguments but don't care about them.
      Open

         scope :with_value, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for unused block arguments.

      Example:

      # bad
      
      do_something do |used, unused|
        puts used
      end
      
      do_something do |bar|
        puts :foo
      end
      
      define_method(:foo) do |bar|
        puts :baz
      end

      Example:

      #good
      
      do_something do |used, _unused|
        puts used
      end
      
      do_something do
        puts :foo
      end
      
      define_method(:foo) do |_bar|
        puts :baz
      end

      Line is too long. [142/130]
      Open

               where("unaccent(descriptions.text) ~* unaccent(?) OR unaccent(names.text) ~* unaccent(?)", "\\m#{text}.*", "\\m#{text}.*")).or(merge(
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Annotation keywords like TODO should be all upper case, followed by a colon, and a space, then a note describing the problem.
      Open

            #TODO add search over names
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks that comment annotation keywords are written according to guidelines.

      Example:

      # bad
      # TODO make better
      
      # good
      # TODO: make better
      
      # bad
      # TODO:make better
      
      # good
      # TODO: make better
      
      # bad
      # fixme: does not work
      
      # good
      # FIXME: does not work
      
      # bad
      # Optimize does not work
      
      # good
      # OPTIMIZE: does not work

      Align the parameters of a method call if they span more than one line.
      Open

               "#{as}_pictures.height", "#{as}_pictures.pos", "#{as}_pictures.title", "#{as}_pictures.description")
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Here we check if the parameters on a multi-line method call or definition are aligned.

      Example: EnforcedStyle: withfirstparameter (default)

      # good
      
      foo :bar,
          :baz
      
      # bad
      
      foo :bar,
        :baz

      Example: EnforcedStyle: withfixedindentation

      # good
      
      foo :bar,
        :baz
      
      # bad
      
      foo :bar,
          :baz

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :by_date, -> (date, julian = false) do
            left_outer_joins(:memos).merge(Memo.by_date(date, julian)).distinct
         end
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Space inside { missing.
      Open

            unscoped.joins(:slug).where(slugs: {text: slug.split(",")})
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that braces used for hash literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that hash literals have
      # surrounding space.
      
      # bad
      h = {a: 1, b: 2}
      
      # good
      h = { a: 1, b: 2 }

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that hash literals have
      # no surrounding space.
      
      # bad
      h = { a: 1, b: 2 }
      
      # good
      h = {a: 1, b: 2}

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # hash braces, with the exception that successive left
      # braces or right braces are collapsed together in nested hashes.
      
      # bad
      h = { a: { b: 2 } }
      
      # good
      h = { a: { b: 2 }}

      Space inside } missing.
      Open

            unscoped.joins(:slug).where(slugs: {text: slug.split(",")})
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that braces used for hash literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that hash literals have
      # surrounding space.
      
      # bad
      h = {a: 1, b: 2}
      
      # good
      h = { a: 1, b: 2 }

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that hash literals have
      # no surrounding space.
      
      # bad
      h = { a: 1, b: 2 }
      
      # good
      h = {a: 1, b: 2}

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # hash braces, with the exception that successive left
      # braces or right braces are collapsed together in nested hashes.
      
      # bad
      h = { a: { b: 2 } }
      
      # good
      h = { a: { b: 2 }}

      Space inside parentheses detected.
      Open

            left_outer_joins( :memos ).merge( Memo.in_calendaries( calendaries )).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Line is too long. [167/130]
      Open

                    WITH RECURSIVE tt(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) AS (
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
      Open

            if self.select_values.dup.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

      Example:

      # bad
      if condition
        do_stuff(bar)
      end
      
      unless qux.empty?
        Foo.do_something
      end
      
      # good
      do_stuff(bar) if condition
      Foo.do_something unless qux.empty?

      Use the lambda method for multiline lambdas.
      Open

         scope :by_date, -> (date, julian = false) do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :by_slug, -> slug do
            unscoped.joins(:slug).where(slugs: {text: slug.split(",")})
         end
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Line is too long. [909/130]
      Open

              with recursive tt(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) as (SELECT 0,nm.text,n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,mn.state_code,mn.mode,mn.feasible FROM nomina n JOIN names nm ON nm.id = n.name_id JOIN memory_names mn ON mn.nomen_id = n.id WHERE  mn.memory_id = 2989 UNION SELECT level + 1, path || ' > ' || nm.text, n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,tt.state_code,tt.mode,tt.feasible FROM nomina n JOIN tt ON n.root_id = tt.root_id AND  tt.bond_to_id = n.name_id JOIN names nm ON nm.id = n.name_id JOIN names nm_t ON nm_t.id = tt.name_id AND nm_t.language_code <> nm.language_code LEFT OUTER JOIN memory_names mn ON n.root_id = mn.nomen_id AND mn.memory_id = 2989 ) select * from tt
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Indent the first parameter one step more than merge(.
      Open

               Nomen.joins(:name).where("unaccent(names.text) ~* unaccent(?)", "\\m#{text}.*").by_root)).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks the indentation of the first parameter in a method call. Parameters after the first one are checked by Style/AlignParameters, not by this cop.

      Example:

      # bad
      some_method(
      first_param,
      second_param)
      
      # good
      some_method(
        first_param,
      second_param)

      Closing method call brace must be on the line after the last argument when opening brace is on a separate line from the first argument.
      Open

               where("unaccent(descriptions.text) ~* unaccent(?) OR unaccent(names.text) ~* unaccent(?)", "\\m#{text}.*", "\\m#{text}.*")).or(merge(
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks that the closing brace in a method call is either on the same line as the last method argument, or a new line.

      When using the symmetrical (default) style:

      If a method call's opening brace is on the same line as the first argument of the call, then the closing brace should be on the same line as the last argument of the call.

      If an method call's opening brace is on the line above the first argument of the call, then the closing brace should be on the line below the last argument of the call.

      When using the new_line style:

      The closing brace of a multi-line method call must be on the line after the last argument of the call.

      When using the same_line style:

      The closing brace of a multi-line method call must be on the same line as the last argument of the call.

      Example:

      # symmetrical: bad
        # new_line: good
        # same_line: bad
        foo(a,
          b
        )
      
        # symmetrical: bad
        # new_line: bad
        # same_line: good
        foo(
          a,
          b)
      
        # symmetrical: good
        # new_line: bad
        # same_line: good
        foo(a,
          b)
      
        # symmetrical: good
        # new_line: good
        # same_line: bad
        foo(
          a,
          b
        )

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_covering_names, -> context do
            as = table.table_alias || table.name
            language_codes = [ context[:locales] ].flatten
      
            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Space inside parentheses detected.
      Open

            memory_names.join( ' ' )
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Line is too long. [177/130]
      Open

                    WITH RECURSIVE __names(level,path,id,name_id,name_bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) AS (
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
      Open

            if self.select_values.dup.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

      Example:

      # bad
      if condition
        do_stuff(bar)
      end
      
      unless qux.empty?
        Foo.do_something
      end
      
      # good
      do_stuff(bar) if condition
      Foo.do_something unless qux.empty?

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_key, -> _ do
            selector = [ 'memories.id AS _key' ]
      
            select(selector).group('_key').reorder("_key")
         end
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Space inside parentheses detected.
      Open

         default_scope { order( base_year: :asc, short_name: :asc, id: :asc ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Space inside parentheses detected.
      Open

            left_outer_joins( :memos ).merge( Memo.in_calendaries( calendaries )).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Space inside parentheses detected.
      Open

            alphabeth_codes = Languageble.alphabeth_list_for( language_codes ).flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Line is too long. [140/130]
      Open

                  n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,t.state_code,t.mode,t.feasible
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Line is too long. [180/130]
      Open

                                    #{as}_place_descriptions.text || ' (' || #{as}_place_descriptions.language_code || '_' || #{as}_place_descriptions.alphabeth_code || ')' AS place_name
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Line is too long. [158/130]
      Open

                          GROUP BY memory_names.id, names.text, bond_toes.text, memory_name_state_titles.text, names.language_code, names.alphabeth_code, nomina.id)
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Use only ascii symbols in comments.
      Open

      ) select * from t  WHERE name_language_code IN ('ру')
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for non-ascii (non-English) characters in comments. You could set an array of allowed non-ascii chars in AllowedChars attribute (empty by default).

      Example:

      # bad
      # Translates from English to 日本語。
      
      # good
      # Translates from English to Japanese

      Use 3 (not 4) spaces for indentation.
      Open

                   "JOIN calendaries AS #{as}_calendaries
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cops checks for indentation that doesn't use the specified number of spaces.

      See also the IndentationConsistency cop which is the companion to this one.

      Example:

      # bad
      class A
       def test
        puts 'hello'
       end
      end
      
      # good
      class A
        def test
          puts 'hello'
        end
      end

      Example: IgnoredPatterns: ['^\s*module']

      # bad
      module A
      class B
        def test
        puts 'hello'
        end
      end
      end
      
      # good
      module A
      class B
        def test
          puts 'hello'
        end
      end
      end

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Space inside parentheses detected.
      Open

         default_scope { order( base_year: :asc, short_name: :asc, id: :asc ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :by_token, -> text do
            left_outer_joins(:names, :descriptions).where( "short_name ~* ?", "\\m#{text}.*" ).or(
               where("unaccent(descriptions.text) ~* unaccent(?) OR unaccent(names.text) ~* unaccent(?)", "\\m#{text}.*", "\\m#{text}.*")).or(merge(
               Nomen.joins(:name).where("unaccent(names.text) ~* unaccent(?)", "\\m#{text}.*").by_root)).distinct
         end
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Space inside parentheses detected.
      Open

         scope :icons, -> { joins( :slugs ).where( slugs: { text: :обр } ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Line is too long. [152/130]
      Open

      with recursive t(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) as (
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Use the lambda method for multiline lambdas.
      Open

         scope :by_slug, -> slug do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Space inside parentheses detected.
      Open

            left_outer_joins(:names, :descriptions).where( "short_name ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Use the lambda method for multiline lambdas.
      Open

         scope :with_names, -> (context) do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Avoid the use of Perl-style backrefs.
      Open

                     "-#{$1}"
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop looks for uses of Perl-style regexp match backreferences like $1, $2, etc.

      Example:

      # bad
      puts $1
      
      # good
      puts Regexp.last_match(1)

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Redundant self detected.
      Open

            if self.select_values.dup.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_icon, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Missing space after #.
      Open

            # TODO fix the correctness of the query
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks whether comments have a leading space after the # denoting the start of the comment. The leading space is not required for some RDoc special syntax, like #++, #--, #:nodoc, =begin- and =end comments, "shebang" directives, or rackup options.

      Example:

      # bad
      #Some comment
      
      # good
      # Some comment

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_coverings, -> context do
            as = table.table_alias || table.name
            language_codes = [ context[:locales] ].flatten
      
            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Space inside parentheses detected.
      Open

            left_outer_joins( :memos ).merge( Memo.in_calendaries( calendaries )).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Use only ascii symbols in comments.
      Open

      # short_name[string]    - краткое имя
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for non-ascii (non-English) characters in comments. You could set an array of allowed non-ascii chars in AllowedChars attribute (empty by default).

      Example:

      # bad
      # Translates from English to 日本語。
      
      # good
      # Translates from English to Japanese

      Use only ascii symbols in comments.
      Open

      # quantity[string]      - количество
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for non-ascii (non-English) characters in comments. You could set an array of allowed non-ascii chars in AllowedChars attribute (empty by default).

      Example:

      # bad
      # Translates from English to 日本語。
      
      # good
      # Translates from English to Japanese

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_value, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :by_tokens, -> string_in do
            return self if string_in.blank?
            # TODO fix the correctness of the query
            klass = self.model_name.name.constantize
            or_rel_tokens = string_in.split(/\//).map do |or_token|
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_names, -> (context) do
            language_codes = [context[:locales]].flatten
      =begin
      with recursive t(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) as (
              with recursive tt(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) as (SELECT 0,nm.text,n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,mn.state_code,mn.mode,mn.feasible FROM nomina n JOIN names nm ON nm.id = n.name_id JOIN memory_names mn ON mn.nomen_id = n.id WHERE  mn.memory_id = 2989 UNION SELECT level + 1, path || ' > ' || nm.text, n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,tt.state_code,tt.mode,tt.feasible FROM nomina n JOIN tt ON n.root_id = tt.root_id AND  tt.bond_to_id = n.name_id JOIN names nm ON nm.id = n.name_id JOIN names nm_t ON nm_t.id = tt.name_id AND nm_t.language_code <> nm.language_code LEFT OUTER JOIN memory_names mn ON n.root_id = mn.nomen_id AND mn.memory_id = 2989 ) select * from tt
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_icon, -> context do
            as = table.table_alias || table.name
            language_codes = [ context[:locales] ].flatten
            selector = self.select_values.dup
            selector << "#{as}.*" if selector.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_events, -> context do
            as = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for( language_codes ).flatten
            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use space inside array brackets.
      Open

            selector = [ 'memories.id AS _key' ]
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Do not use space inside array brackets.
      Open

            selector = [ 'memories.short_name AS _value' ]
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Space inside parentheses detected.
      Open

            alphabeth_codes = Languageble.alphabeth_list_for( language_codes ).flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Line is too long. [269/130]
      Open

                      ON n.bond_to_id = t.name_id AND n.root_id = t.root_id JOIN names nm ON nm.id = n.name_id JOIN names nm_t ON nm_t.id = t.name_id AND nm_t.language_code <> nm.language_code LEFT OUTER JOIN memory_names mn ON n.root_id = mn.nomen_id AND mn.memory_id = 2989
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Use the lambda method for multiline lambdas.
      Open

         scope :in_calendaries, -> calendaries_in do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Use the lambda method for multiline lambdas.
      Open

         scope :with_memory_binds, -> do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Use the lambda method for multiline lambdas.
      Open

         scope :with_bond_memories, ->(context) do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      %w-literals should be delimited by [ and ].
      Open

            types = %w(Resurrection Repose Writing Appearance Translation Sanctification)
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop enforces the consistent usage of %-literal delimiters.

      Specify the 'default' key to set all preferred delimiters at once. You can continue to specify individual preferred delimiters to override the default.

      Example:

      # Style/PercentLiteralDelimiters:
      #   PreferredDelimiters:
      #     default: '[]'
      #     '%i':    '()'
      
      # good
      %w[alpha beta] + %i(gamma delta)
      
      # bad
      %W(alpha #{beta})
      
      # bad
      %I(alpha beta)

      Avoid the use of Perl-style backrefs.
      Open

                  "-#{$1}"
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop looks for uses of Perl-style regexp match backreferences like $1, $2, etc.

      Example:

      # bad
      puts $1
      
      # good
      puts Regexp.last_match(1)

      Use %r around regular expression.
      Open

            or_rel_tokens = string_in.split(/\//).map do |or_token|
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop enforces using // or %r around regular expressions.

      Example: EnforcedStyle: slashes (default)

      # bad
      snake_case = %r{^[\dA-Z_]+$}
      
      # bad
      regex = %r{
        foo
        (bar)
        (baz)
      }x
      
      # good
      snake_case = /^[\dA-Z_]+$/
      
      # good
      regex = /
        foo
        (bar)
        (baz)
      /x

      Example: EnforcedStyle: percent_r

      # bad
      snake_case = /^[\dA-Z_]+$/
      
      # bad
      regex = /
        foo
        (bar)
        (baz)
      /x
      
      # good
      snake_case = %r{^[\dA-Z_]+$}
      
      # good
      regex = %r{
        foo
        (bar)
        (baz)
      }x

      Example: EnforcedStyle: mixed

      # bad
      snake_case = %r{^[\dA-Z_]+$}
      
      # bad
      regex = /
        foo
        (bar)
        (baz)
      /x
      
      # good
      snake_case = /^[\dA-Z_]+$/
      
      # good
      regex = %r{
        foo
        (bar)
        (baz)
      }x

      Example: AllowInnerSlashes: false (default)

      # If `false`, the cop will always recommend using `%r` if one or more
      # slashes are found in the regexp string.
      
      # bad
      x =~ /home\//
      
      # good
      x =~ %r{home/}

      Example: AllowInnerSlashes: true

      # good
      x =~ /home\//

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_memoes, -> context do
            as = table.table_alias || table.name
            language_codes = [ context[:locales] ].flatten
            cslugs_rule = context[:calendary_slugs] ? "AND calendary_slugs.text IN ('#{context[:calendary_slugs].join("','")}')" : ""
      
      
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Line is too long. [157/130]
      Open

                                   names.text || COALESCE(' < ' || bond_toes.text, '') || ' (' || names.language_code|| '_' || names.alphabeth_code || ')' AS name,
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Use only ascii symbols in comments.
      Open

      # council[string]       - соборы для памяти
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for non-ascii (non-English) characters in comments. You could set an array of allowed non-ascii chars in AllowedChars attribute (empty by default).

      Example:

      # bad
      # Translates from English to 日本語。
      
      # good
      # Translates from English to Japanese

      Do not use block comments.
      Open

      =begin
      with recursive t(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) as (
              with recursive tt(level,path,id,name_id,bind_kind_name,bond_to_id,root_id,name_alphabeth_code,name_language_code,name_text,state_code,mode,feasible) as (SELECT 0,nm.text,n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,mn.state_code,mn.mode,mn.feasible FROM nomina n JOIN names nm ON nm.id = n.name_id JOIN memory_names mn ON mn.nomen_id = n.id WHERE  mn.memory_id = 2989 UNION SELECT level + 1, path || ' > ' || nm.text, n.id,n.name_id,n.bind_kind_name,n.bond_to_id,n.root_id,nm.alphabeth_code,nm.language_code,nm.text,tt.state_code,tt.mode,tt.feasible FROM nomina n JOIN tt ON n.root_id = tt.root_id AND  tt.bond_to_id = n.name_id JOIN names nm ON nm.id = n.name_id JOIN names nm_t ON nm_t.id = tt.name_id AND nm_t.language_code <> nm.language_code LEFT OUTER JOIN memory_names mn ON n.root_id = mn.nomen_id AND mn.memory_id = 2989 ) select * from tt
          UNION
              SELECT DISTINCT
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop looks for uses of block comments (=begin...=end).

      Example:

      # bad
      =begin
      Multiple lines
      of comments...
      =end
      
      # good
      # Multiple lines
      # of comments...

      Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
      Open

            if selector.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

      Example:

      # bad
      if condition
        do_stuff(bar)
      end
      
      unless qux.empty?
        Foo.do_something
      end
      
      # good
      do_stuff(bar) if condition
      Foo.do_something unless qux.empty?

      Use the lambda method for multiline lambdas.
      Open

         scope :with_key, -> _ do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_key, -> _ do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_coverings, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

            select(selector).group('_key').reorder("_key")
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      Space inside parentheses detected.
      Open

            alphabeth_codes = Languageble.alphabeth_list_for( language_codes ).flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Space inside parentheses detected.
      Open

            memory_names.join( ' ' )
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
      Open

            if self.select_values.dup.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

      Example:

      # bad
      if condition
        do_stuff(bar)
      end
      
      unless qux.empty?
        Foo.do_something
      end
      
      # good
      do_stuff(bar) if condition
      Foo.do_something unless qux.empty?

      Use the lambda method for multiline lambdas.
      Open

         scope :with_value, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_memory_names, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Use the lambda method for multiline lambdas.
      Open

         scope :with_covering_names, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Use the lambda method for multiline lambdas.
      Open

         scope :with_memory_names, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_memoes, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_events, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Missing space after #.
      Open

            #TODO add search over names
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks whether comments have a leading space after the # denoting the start of the comment. The leading space is not required for some RDoc special syntax, like #++, #--, #:nodoc, =begin- and =end comments, "shebang" directives, or rackup options.

      Example:

      # bad
      #Some comment
      
      # good
      # Some comment

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_memory_names, -> context do
            language_codes = [ context[:locales] ].flatten
            selector = self.select_values.dup
            if self.select_values.dup.empty?
               selector << 'memories.*'
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Space inside parentheses detected.
      Open

            left_outer_joins( :memos ).merge( Memo.in_calendaries( calendaries )).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Space inside parentheses detected.
      Open

            left_outer_joins(:names, :descriptions).where( "short_name ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
      Open

            if self.select_values.dup.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

      Example:

      # bad
      if condition
        do_stuff(bar)
      end
      
      unless qux.empty?
        Foo.do_something
      end
      
      # good
      do_stuff(bar) if condition
      Foo.do_something unless qux.empty?

      Redundant self detected.
      Open

            self.slug = Slug.new(base: self.short_name) if self.slug.blank?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :by_slug, -> slug do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :in_calendaries, -> calendaries_in do
            calendaries = calendaries_in.is_a?(String) && calendaries_in.split(',') || calendaries_in
            left_outer_joins( :memos ).merge( Memo.in_calendaries( calendaries )).distinct
         end
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use space inside array brackets.
      Open

            selector = [ 'memories.id AS _key' ]
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Space inside parentheses detected.
      Open

         scope :icons, -> { joins( :slugs ).where( slugs: { text: :обр } ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Space inside parentheses detected.
      Open

         scope :by_short_name, -> name { where( short_name: name ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Space inside parentheses detected.
      Open

            left_outer_joins( :memos ).merge( Memo.in_calendaries( calendaries )).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Use the lambda method for multiline lambdas.
      Open

         scope :with_orders, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Use the lambda method for multiline lambdas.
      Open

         scope :with_events, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Avoid the use of Perl-style backrefs.
      Open

                  $1
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop looks for uses of Perl-style regexp match backreferences like $1, $2, etc.

      Example:

      # bad
      puts $1
      
      # good
      puts Regexp.last_match(1)

      Avoid the use of Perl-style backrefs.
      Open

                  $1
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop looks for uses of Perl-style regexp match backreferences like $1, $2, etc.

      Example:

      # bad
      puts $1
      
      # good
      puts Regexp.last_match(1)

      Redundant self detected.
      Open

            self.slug = Slug.new(base: self.short_name) if self.slug.blank?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_covering_names, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

            left_outer_joins(:names, :descriptions).where( "short_name ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      Closing method call brace must be on the line after the last argument when opening brace is on a separate line from the first argument.
      Open

               Nomen.joins(:name).where("unaccent(names.text) ~* unaccent(?)", "\\m#{text}.*").by_root)).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks that the closing brace in a method call is either on the same line as the last method argument, or a new line.

      When using the symmetrical (default) style:

      If a method call's opening brace is on the same line as the first argument of the call, then the closing brace should be on the same line as the last argument of the call.

      If an method call's opening brace is on the line above the first argument of the call, then the closing brace should be on the line below the last argument of the call.

      When using the new_line style:

      The closing brace of a multi-line method call must be on the line after the last argument of the call.

      When using the same_line style:

      The closing brace of a multi-line method call must be on the same line as the last argument of the call.

      Example:

      # symmetrical: bad
        # new_line: good
        # same_line: bad
        foo(a,
          b
        )
      
        # symmetrical: bad
        # new_line: bad
        # same_line: good
        foo(
          a,
          b)
      
        # symmetrical: good
        # new_line: bad
        # same_line: good
        foo(a,
          b)
      
        # symmetrical: good
        # new_line: good
        # same_line: bad
        foo(
          a,
          b
        )

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_scripta, -> (context) do
            as = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = context[:codes] || Languageble.alphabeth_list_for(language_codes).flatten
            calendaries_join =
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_orders, -> context do
            language_codes = [ context[:locales] ].flatten
            selector = self.select_values.dup
            if self.select_values.dup.empty?
               selector << 'memories.*'
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Space inside parentheses detected.
      Open

         scope :icons, -> { joins( :slugs ).where( slugs: { text: :обр } ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Use only ascii symbols in comments.
      Open

            # TODO fix the correctness of the query
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for non-ascii (non-English) characters in comments. You could set an array of allowed non-ascii chars in AllowedChars attribute (empty by default).

      Example:

      # bad
      # Translates from English to 日本語。
      
      # good
      # Translates from English to Japanese

      Avoid the use of Perl-style backrefs.
      Open

                  ($1.rom - 1) * 100 + 50
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop looks for uses of Perl-style regexp match backreferences like $1, $2, etc.

      Example:

      # bad
      puts $1
      
      # good
      puts Regexp.last_match(1)

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Redundant self detected.
      Open

            if self.select_values.dup.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :by_tokens, -> string_in do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

            cslugs_rule = context[:calendary_slugs] ? "AND calendary_slugs.text IN ('#{context[:calendary_slugs].join("','")}')" : ""
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Redundant self detected.
      Open

            event = self.events.to_a.sort_by { |x| (types.index(x.kind) || 100) }.first
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

               where("unaccent(descriptions.text) ~* unaccent(?) OR unaccent(names.text) ~* unaccent(?)", "\\m#{text}.*", "\\m#{text}.*")).or(merge(
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :by_short_name, -> name { where( short_name: name ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use spaces between -> and opening brace in lambda literals
      Open

         scope :with_value, -> context do
            #TODO add search over names
            selector = [ 'memories.short_name AS _value' ]
      
            select(selector).group('_value').reorder("_value")
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for spaces between -> and opening parameter brace in lambda literals.

      Example: EnforcedStyle: requirenospace (default)

      # bad
        a = -> (x, y) { x + y }
      
        # good
        a = ->(x, y) { x + y }

      Example: EnforcedStyle: require_space

      # bad
        a = ->(x, y) { x + y }
      
        # good
        a = -> (x, y) { x + y }

      Do not use space inside array brackets.
      Open

            selector = [ 'memories.short_name AS _value' ]
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks that brackets used for array literals have or don't have surrounding space depending on configuration.

      Example: EnforcedStyle: space

      # The `space` style enforces that array literals have
      # surrounding space.
      
      # bad
      array = [a, b, c, d]
      
      # good
      array = [ a, b, c, d ]

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that array literals have
      # no surrounding space.
      
      # bad
      array = [ a, b, c, d ]
      
      # good
      array = [a, b, c, d]

      Example: EnforcedStyle: compact

      # The `compact` style normally requires a space inside
      # array brackets, with the exception that successive left
      # or right brackets are collapsed together in nested arrays.
      
      # bad
      array = [ a, [ b, c ] ]
      
      # good
      array = [ a, [ b, c ]]

      Space inside parentheses detected.
      Open

         scope :by_short_name, -> name { where( short_name: name ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Space inside parentheses detected.
      Open

            alphabeth_codes = Languageble.alphabeth_list_for( language_codes ).flatten
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

      # bad
      f( 3)
      g = (a + 3 )
      
      # good
      f(3)
      g = (a + 3)

      Use the lambda method for multiline lambdas.
      Open

         scope :by_tokens, -> string_in do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Use the lambda method for multiline lambdas.
      Open

         scope :with_scripta, -> (context) do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :by_short_name, -> name { where( short_name: name ) }
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

                  dates.last.split(".").last
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      Redundant self detected.
      Open

            klass = self.model_name.name.constantize
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_orders, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

         has_many :thumbs, -> { where(thumbs: { thumbable_type: "Memory" }) }, foreign_key: :thumbable_id, dependent: :destroy
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

            select(selector).group('_value').reorder("_value")
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      Use the lambda method for multiline lambdas.
      Open

         scope :with_slug, -> do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Redundant self detected.
      Open

            if self.select_values.dup.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Redundant self detected.
      Open

            if self.select_values.dup.empty?
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :by_token, -> text do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Use the lambda method for multiline lambdas.
      Open

         scope :by_token, -> text do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Use %r around regular expression.
      Open

                  dates = event.happened_at.split(/[\/-]/)
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop enforces using // or %r around regular expressions.

      Example: EnforcedStyle: slashes (default)

      # bad
      snake_case = %r{^[\dA-Z_]+$}
      
      # bad
      regex = %r{
        foo
        (bar)
        (baz)
      }x
      
      # good
      snake_case = /^[\dA-Z_]+$/
      
      # good
      regex = /
        foo
        (bar)
        (baz)
      /x

      Example: EnforcedStyle: percent_r

      # bad
      snake_case = /^[\dA-Z_]+$/
      
      # bad
      regex = /
        foo
        (bar)
        (baz)
      /x
      
      # good
      snake_case = %r{^[\dA-Z_]+$}
      
      # good
      regex = %r{
        foo
        (bar)
        (baz)
      }x

      Example: EnforcedStyle: mixed

      # bad
      snake_case = %r{^[\dA-Z_]+$}
      
      # bad
      regex = /
        foo
        (bar)
        (baz)
      /x
      
      # good
      snake_case = /^[\dA-Z_]+$/
      
      # good
      regex = %r{
        foo
        (bar)
        (baz)
      }x

      Example: AllowInnerSlashes: false (default)

      # If `false`, the cop will always recommend using `%r` if one or more
      # slashes are found in the regexp string.
      
      # bad
      x =~ /home\//
      
      # good
      x =~ %r{home/}

      Example: AllowInnerSlashes: true

      # good
      x =~ /home\//

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

               Nomen.joins(:name).where("unaccent(names.text) ~* unaccent(?)", "\\m#{text}.*").by_root)).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      Use the lambda method for multiline lambdas.
      Open

         scope :with_icon, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Redundant self detected.
      Open

            self.merge(or_rel).distinct
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop checks for redundant uses of self.

      The usage of self is only needed when:

      • Sending a message to same object with zero arguments in presence of a method name clash with an argument or a local variable.

      • Calling an attribute writer to prevent an local variable assignment.

      Note, with using explicit self you can only send messages with public or protected scope, you cannot send private messages this way.

      Note we allow uses of self with operators because it would be awkward otherwise.

      Example:

      # bad
      def foo(bar)
        self.baz
      end
      
      # good
      def foo(bar)
        self.bar  # Resolves name clash with the argument.
      end
      
      def foo
        bar = 1
        self.bar  # Resolves name clash with the local variable.
      end
      
      def foo
        %w[x y z].select do |bar|
          self.bar == bar  # Resolves name clash with argument of the block.
        end
      end

      Use the lambda method for multiline lambdas.
      Open

         scope :with_coverings, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Use the lambda method for multiline lambdas.
      Open

         scope :with_memoes, -> context do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Use the lambda method for multiline lambdas.
      Open

         scope :with_slug_text, -> do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop (by default) checks for uses of the lambda literal syntax for single line lambdas, and the method call syntax for multiline lambdas. It is configurable to enforce one of the styles for both single line and multiline lambdas as well.

      Example: EnforcedStyle: linecountdependent (default)

      # bad
      f = lambda { |x| x }
      f = ->(x) do
            x
          end
      
      # good
      f = ->(x) { x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: lambda

      # bad
      f = ->(x) { x }
      f = ->(x) do
            x
          end
      
      # good
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end

      Example: EnforcedStyle: literal

      # bad
      f = lambda { |x| x }
      f = lambda do |x|
            x
          end
      
      # good
      f = ->(x) { x }
      f = ->(x) do
            x
          end

      Use %r around regular expression.
      Open

            dates = event.happened_at.split(/[\/-]/)
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      This cop enforces using // or %r around regular expressions.

      Example: EnforcedStyle: slashes (default)

      # bad
      snake_case = %r{^[\dA-Z_]+$}
      
      # bad
      regex = %r{
        foo
        (bar)
        (baz)
      }x
      
      # good
      snake_case = /^[\dA-Z_]+$/
      
      # good
      regex = /
        foo
        (bar)
        (baz)
      /x

      Example: EnforcedStyle: percent_r

      # bad
      snake_case = /^[\dA-Z_]+$/
      
      # bad
      regex = /
        foo
        (bar)
        (baz)
      /x
      
      # good
      snake_case = %r{^[\dA-Z_]+$}
      
      # good
      regex = %r{
        foo
        (bar)
        (baz)
      }x

      Example: EnforcedStyle: mixed

      # bad
      snake_case = %r{^[\dA-Z_]+$}
      
      # bad
      regex = /
        foo
        (bar)
        (baz)
      /x
      
      # good
      snake_case = /^[\dA-Z_]+$/
      
      # good
      regex = %r{
        foo
        (bar)
        (baz)
      }x

      Example: AllowInnerSlashes: false (default)

      # If `false`, the cop will always recommend using `%r` if one or more
      # slashes are found in the regexp string.
      
      # bad
      x =~ /home\//
      
      # good
      x =~ %r{home/}

      Example: AllowInnerSlashes: true

      # good
      x =~ /home\//

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :in_calendaries, -> calendaries_in do
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Check for parentheses around stabby lambda arguments. There are two different styles. Defaults to require_parentheses.

      Example: EnforcedStyle: require_parentheses (default)

      # bad
      ->a,b,c { a + b + c }
      
      # good
      ->(a,b,c) { a + b + c}

      Example: EnforcedStyle: requirenoparentheses

      # bad
      ->(a,b,c) { a + b + c }
      
      # good
      ->a,b,c { a + b + c}

      Prefer single-quoted strings when you don't need string interpolation or special symbols.
      Open

            unscoped.joins(:slug).where(slugs: {text: slug.split(",")})
      Severity: Minor
      Found in app/models/memory.rb by rubocop

      Checks if uses of quotes match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      "No special symbols"
      "No string interpolation"
      "Just text"
      
      # good
      'No special symbols'
      'No string interpolation'
      'Just text'
      "Wait! What's #{this}!"

      Example: EnforcedStyle: double_quotes

      # bad
      'Just some text'
      'No special chars or interpolation'
      
      # good
      "Just some text"
      "No special chars or interpolation"
      "Every string in #{project} uses double_quotes"

      There are no issues that match your filters.

      Category
      Status