znamenica/dneslov

View on GitHub
app/models/memo.rb

Summary

Maintainability
D
2 days
Test Coverage
F
33%

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

class Memo < ActiveRecord::Base
   extend TotalSize
   include WithDescriptions
   include WithLinks
   include DistinctBy
Severity: Minor
Found in app/models/memo.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 memo.rb has 535 lines of code (exceeds 250 allowed). Consider refactoring.
Open

require 'when_easter'

# class Memo содержит сведения о помине какой-либо памяти в календаре,
# таким образом связывая память и календарь. Может быть либо прямым обычным помином,
# содержащим поле годовой даты year_date, либо соборным помином, таким
Severity: Major
Found in app/models/memo.rb - About 1 day to fix

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

       def fix_year_date
          self.year_date =
          case self.year_date
          when /пасха/
             "+0"
    Severity: Minor
    Found in app/models/memo.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.

    Assignment Branch Condition size for fix_year_date is too high. [64.08/30]
    Open

       def fix_year_date
          self.year_date =
          case self.year_date
          when /пасха/
             "+0"
    Severity: Minor
    Found in app/models/memo.rb by rubocop

    This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

    Cyclomatic complexity for fix_year_date is too high. [16/6]
    Open

       def fix_year_date
          self.year_date =
          case self.year_date
          when /пасха/
             "+0"
    Severity: Minor
    Found in app/models/memo.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.

    Method fix_year_date has 54 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

       def fix_year_date
          self.year_date =
          case self.year_date
          when /пасха/
             "+0"
    Severity: Major
    Found in app/models/memo.rb - About 2 hrs to fix

      Assignment Branch Condition size for dates_to_days is too high. [33.97/30]
      Open

            def dates_to_days dates_in, julian
               [dates_in].flatten.map do |date_in|
                  date = date_in.is_a?(Date) && date_in || Date.parse(date_in)
                  new_date = date.strftime('%2d.%m')
                  gap = julian && 13.days || 0
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

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

            def dates_to_days dates_in, julian
               [dates_in].flatten.map do |date_in|
                  date = date_in.is_a?(Date) && date_in || Date.parse(date_in)
                  new_date = date.strftime('%2d.%m')
                  gap = julian && 13.days || 0
      Severity: Minor
      Found in app/models/memo.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 dates_to_days is too high. [8/6]
      Open

            def dates_to_days dates_in, julian
               [dates_in].flatten.map do |date_in|
                  date = date_in.is_a?(Date) && date_in || Date.parse(date_in)
                  new_date = date.strftime('%2d.%m')
                  gap = julian && 13.days || 0
      Severity: Minor
      Found in app/models/memo.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.

      Cyclomatic complexity for year_date_for is too high. [8/6]
      Open

         def year_date_for year
            case year_date
            when /(?<sign>[+-])(?<indent>.*)/
               mul = sign == '-' && -1 || 1
               WhenEaster::EasterCalendar.find_greek_easter_date(year.to_i) + (mul * indent.to_i).days
      Severity: Minor
      Found in app/models/memo.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. [43/25]
      Open

         scope :with_bond_to_year_date, -> context do
            language_codes = [ context[:locales] ].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            selector = self.select_values.dup
            if selector.empty?
      Severity: Minor
      Found in app/models/memo.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.

      Perceived complexity for dates_to_days is too high. [8/7]
      Open

            def dates_to_days dates_in, julian
               [dates_in].flatten.map do |date_in|
                  date = date_in.is_a?(Date) && date_in || Date.parse(date_in)
                  new_date = date.strftime('%2d.%m')
                  gap = julian && 13.days || 0
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

      Example:

      def my_method                   # 1
        if cond                       # 1
          case var                    # 2 (0.8 + 4 * 0.2, rounded)
          when 1 then func_one
          when 2 then func_two
          when 3 then func_three
          when 4..10 then func_other
          end
        else                          # 1
          do_something until a && b   # 2
        end                           # ===
      end                             # 7 complexity points

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

         scope :with_value_memoried, -> context do 
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            as = table.table_alias || table.name
            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memo.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 dates_to_days has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
      Open

            def dates_to_days dates_in, julian
               [dates_in].flatten.map do |date_in|
                  date = date_in.is_a?(Date) && date_in || Date.parse(date_in)
                  new_date = date.strftime('%2d.%m')
                  gap = julian && 13.days || 0
      Severity: Minor
      Found in app/models/memo.rb - About 45 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Method year_date_for has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
      Open

         def year_date_for year
            case year_date
            when /(?<sign>[+-])(?<indent>.*)/
               mul = sign == '-' && -1 || 1
               WhenEaster::EasterCalendar.find_greek_easter_date(year.to_i) + (mul * indent.to_i).days
      Severity: Minor
      Found in app/models/memo.rb - About 35 mins to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

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

         scope :with_value, -> context do
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            join_name = table.table_alias || table.name
            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memo.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_orders, -> context do
            join_name = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            /`(?<scope_name>[^']*)'/ =~ caller.grep(/delegation/)[1]
      Severity: Minor
      Found in app/models/memo.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/memo.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/memory.rb on lines 60..75
      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 2 locations. Consider refactoring.
      Open

         scope :by_token, -> text do
            left_outer_joins(:descriptions, :titles, :memory).
               where( "unaccent(descriptions.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
               where( "unaccent(titles_memoes.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
               where( "memories.short_name ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.rb and 1 other location - About 50 mins to fix
      app/models/calendary.rb on lines 47..54

      Duplicated Code

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

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

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

      Tuning

      This issue has a mass of 43.

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

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

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

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

      Refactorings

      Further Reading

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

            when /^(#{DAYS.join("|")})\.близ (\d+\.\d+)$/   #29.06~7
               daynum = DAYS.index($1)
               date = Time.parse("#{$2}.1970") # - 4.days
               "#{date.strftime("%1d.%m")}~#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb and 2 other locations - About 20 mins to fix
      app/models/memo.rb on lines 630..633
      app/models/memo.rb on lines 634..637

      Duplicated Code

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

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

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

      Tuning

      This issue has a mass of 27.

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

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

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

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

      Refactorings

      Further Reading

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

            when /^(#{DAYS.join("|")})\.до (\d+\.\d+)$/  #21.06>7
               daynum = DAYS.index($1)
               date = Time.parse("#{$2}.1970")# - 8.days
               "#{date.strftime("%1d.%m")}>#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb and 2 other locations - About 20 mins to fix
      app/models/memo.rb on lines 626..629
      app/models/memo.rb on lines 630..633

      Duplicated Code

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

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

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

      Tuning

      This issue has a mass of 27.

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

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

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

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

      Refactorings

      Further Reading

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

            when /^(#{DAYS.join("|")})\.по (\d+\.\d+)$/   #29.06<7
               daynum = DAYS.index($1)
               date = Time.parse("#{$2}.1970")
               "#{date.strftime("%1d.%m")}<#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb and 2 other locations - About 20 mins to fix
      app/models/memo.rb on lines 626..629
      app/models/memo.rb on lines 634..637

      Duplicated Code

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

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

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

      Tuning

      This issue has a mass of 27.

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

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

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

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

      Refactorings

      Further Reading

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

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

      Duplicated Code

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

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

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

      Tuning

      This issue has a mass of 27.

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

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

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

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

      Refactorings

      Further Reading

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

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

      Duplicated Code

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

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

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

      Tuning

      This issue has a mass of 27.

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

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

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

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

      Refactorings

      Further Reading

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

            when /^(#{DAYS.join("|")})\.(\d+)\.до пасхи/  #-14
               daynum = DAYSR.index($1) + 1
               days = ($2.to_i - 1) * 7 + daynum
               "-#{days}"
      Severity: Minor
      Found in app/models/memo.rb and 1 other location - About 15 mins to fix
      app/models/memo.rb on lines 605..608

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

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

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

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

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

      Refactorings

      Further Reading

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

            when /^(#{DAYS.join("|")})\.(\d+)\.по пасхе/ #+70
               daynum = DAYSN.index($1) + 1
               days = ($2.to_i - 1) * 7 + daynum
               "+#{days}"
      Severity: Minor
      Found in app/models/memo.rb and 1 other location - About 15 mins to fix
      app/models/memo.rb on lines 612..615

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

      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

      Unnecessary spacing detected.
      Open

            when /^(#{DAYS.join("|")})\.по пасхе/    #+7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

      Unnecessary spacing detected.
      Open

            when /^(#{DAYS.join("|")})\.по (\d+\.\d+)$/   #29.06<7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

      Missing space after #.
      Open

            when /^(#{DAYS.join("|")})\.по (\d+\.\d+)$/   #29.06<7
      Severity: Minor
      Found in app/models/memo.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_value, -> context do
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            join_name = table.table_alias || table.name
            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memo.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 :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/memo.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 :by_calendary_id, -> (calendary_id) do
            where(calendary_id: calendary_id)
         end
      Severity: Minor
      Found in app/models/memo.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_memoried, -> context do 
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            as = table.table_alias || table.name
            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memo.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 missing inside }.
      Open

         scope :licit, -> { joins( :calendary ).where( calendaries: { licit: true })}
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

      Example: EnforcedStyle: space (default)

      # The `space` style enforces that block braces have
      # surrounding space.
      
      # bad
      some_array.each {puts e}
      
      # good
      some_array.each { puts e }

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that block braces don't
      # have surrounding space.
      
      # bad
      some_array.each { puts e }
      
      # good
      some_array.each {puts e}

      Example: EnforcedStyleForEmptyBraces: no_space (default)

      # The `no_space` EnforcedStyleForEmptyBraces style enforces that
      # block braces don't have a space in between when empty.
      
      # bad
      some_array.each {   }
      some_array.each {  }
      some_array.each { }
      
      # good
      some_array.each {}

      Example: EnforcedStyleForEmptyBraces: space

      # The `space` EnforcedStyleForEmptyBraces style enforces that
      # block braces have at least a spece in between when empty.
      
      # bad
      some_array.each {}
      
      # good
      some_array.each { }
      some_array.each {  }
      some_array.each {   }

      Example: SpaceBeforeBlockParameters: true (default)

      # The SpaceBeforeBlockParameters style set to `true` enforces that
      # there is a space between `{` and `|`. Overrides `EnforcedStyle`
      # if there is a conflict.
      
      # bad
      [1, 2, 3].each {|n| n * 2 }
      
      # good
      [1, 2, 3].each { |n| n * 2 }

      Example: SpaceBeforeBlockParameters: true

      # The SpaceBeforeBlockParameters style set to `false` enforces that
      # there is no space between `{` and `|`. Overrides `EnforcedStyle`
      # if there is a conflict.
      
      # bad
      [1, 2, 3].each { |n| n * 2 }
      
      # good
      [1, 2, 3].each {|n| n * 2 }

      Space inside parentheses detected.
      Open

         scope :primary, -> { where( bond_to_id: nil ) }
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

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

      Unnecessary spacing detected.
      Open

            when /^(#{DAYS.join("|")})\.до (\d+\.\d+)$/  #21.06>7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

      Indent the first parameter one step more than the start of the previous line.
      Open

               where( "unaccent(titles_memoes.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
               where( "memories.short_name ~* ?", "\\m#{text}.*" ).or(
               where( "memoes.add_date ~* ?", "\\m#{text}.*" ).or(
               where( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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)

      Bad indentation of the first parameter.
      Open

               where( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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)

      Indent the first parameter one step more than the start of the previous line.
      Open

            case self.year_date
            when /пасха/
               "+0"
            when /^дн\.(\d+)\.по пасхе/ #+24
               "+#{$1}"
      Severity: Minor
      Found in app/models/memo.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)

      Indent the first line of the right-hand-side of a multi-line assignment.
      Open

            case self.year_date
            when /пасха/
               "+0"
            when /^дн\.(\d+)\.по пасхе/ #+24
               "+#{$1}"
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks the indentation of the first line of the right-hand-side of a multi-line assignment.

      Example:

      # bad
      value =
      if foo
        'bar'
      end
      
      # good
      value =
        if foo
          'bar'
        end

      The indentation of the remaining lines can be corrected with other cops such as IndentationConsistency and EndAlignment.

      Use 3 spaces for indentation in an array, relative to the start of the line where the left square bracket is.
      Open

              "memo_event_memories.id AS _memory_id",
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks the indentation of the first element in an array literal where the opening bracket and the first element are on separate lines. The other elements' indentations are handled by the AlignArray cop.

      By default, array literals that are arguments in a method call with parentheses, and where the opening square bracket of the array is on the same line as the opening parenthesis of the method call, shall have their first element indented one step (two spaces) more than the position inside the opening parenthesis.

      Other array literals shall have their first element indented one step more than the start of the line where the opening square bracket is.

      This default style is called 'specialinsideparentheses'. Alternative styles are 'consistent' and 'align_brackets'. Here are examples:

      Example: EnforcedStyle: specialinsideparentheses (default)

      # The `special_inside_parentheses` style enforces that the first
      # element in an array literal where the opening bracket and first
      # element are on seprate lines is indented one step (two spaces) more
      # than the position inside the opening parenthesis.
      
      #bad
      array = [
        :value
      ]
      and_in_a_method_call([
        :no_difference
                           ])
      
      #good
      array = [
        :value
      ]
      but_in_a_method_call([
                             :its_like_this
                           ])

      Example: EnforcedStyle: consistent

      # The `consistent` style enforces that the first element in an array
      # literal where the opening bracket and the first element are on
      # seprate lines is indented the same as an array literal which is not
      # defined inside a method call.
      
      #bad
      # consistent
      array = [
        :value
      ]
      but_in_a_method_call([
                             :its_like_this
      ])
      
      #good
      array = [
        :value
      ]
      and_in_a_method_call([
        :no_difference
      ])

      Example: EnforcedStyle: align_brackets

      # The `align_brackets` style enforces that the opening and closing
      # brackets are indented to the same position.
      
      #bad
      # align_brackets
      and_now_for_something = [
                                :completely_different
      ]
      
      #good
      # align_brackets
      and_now_for_something = [
                                :completely_different
                              ]

      Missing space after #.
      Open

            when /^(#{DAYS.join("|")})\.близ (\d+\.\d+)$/   #29.06~7
      Severity: Minor
      Found in app/models/memo.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_bond_to_title, -> context do
            join_name = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            /`(?<scope_name>[^']*)'/ =~ caller.grep(/delegation/)[1]
      Severity: Minor
      Found in app/models/memo.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_event_title, -> context do
            join_name = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            /`(?<scope_name>[^']*)'/ =~ caller.grep(/delegation/)[1]
      Severity: Minor
      Found in app/models/memo.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 }

      Unnecessary spacing detected.
      Open

            when /^(#{DAYS.join("|")})\.близ (\d+\.\d+)$/   #29.06~7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

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

         scope :with_key, -> _ do
            join_name = table.table_alias || table.name
            selector = ["#{join_name}.id AS _key"]
      
            select(selector).group('_key').reorder("_key")
      Severity: Minor
      Found in app/models/memo.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 }

      Unnecessary spacing detected.
      Open

            when /^(#{DAYS.join("|")})\.(\d+)\.по (\d+\.\d+)$/   #29.06<7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

      Missing space after #.
      Open

            when /^(#{DAYS.join("|")})\.до (\d+\.\d+)$/  #21.06>7
      Severity: Minor
      Found in app/models/memo.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

      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( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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 space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memo.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 :primary, -> { where( bond_to_id: nil ) }
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

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

      Missing space after #.
      Open

            when /^дн\.(\d+)\.с (\d+\.\d+)$/   #29.06%7
      Severity: Minor
      Found in app/models/memo.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

      Missing space after #.
      Open

            when /^(#{DAYS.join("|")})\.(\d+)\.до (\d+\.\d+)$/  #21.06>7
      Severity: Minor
      Found in app/models/memo.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

      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( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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
        )

      Unnecessary spacing detected.
      Open

            when /^(#{DAYS.join("|")})\.до пасхи/    #-7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

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

         scope :by_event_id, -> (event_id) do
            where(event_id: event_id)
         end
      Severity: Minor
      Found in app/models/memo.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_title, -> context do
            join_name = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            /`(?<scope_name>[^']*)'/ =~ caller.grep(/delegation/)[1]
      Severity: Minor
      Found in app/models/memo.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_memo_orders, -> context do
            language_codes = [ context[:locales] ].flatten
            this = table.table_alias || table.name
            /`(?<as>[^']*)'/ =~ caller.grep(/delegation/)[1]
            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memo.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/memo.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/memo.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 :licit, -> { joins( :calendary ).where( calendaries: { licit: true })}
      Severity: Minor
      Found in app/models/memo.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 :licit, -> { joins( :calendary ).where( calendaries: { licit: true })}
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

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

      Place the . on the next line, together with the method name.
      Open

            left_outer_joins(:descriptions, :titles, :memory).
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks the . position in multi-line method calls.

      Example: EnforcedStyle: leading (default)

      # bad
      something.
        mehod
      
      # good
      something
        .method

      Example: EnforcedStyle: trailing

      # bad
      something
        .method
      
      # good
      something.
        mehod

      Bad indentation of the first parameter.
      Open

               where( "memoes.add_date ~* ?", "\\m#{text}.*" ).or(
               where( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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)

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

         scope :by_memory_id, -> (memory_id) do
            joins(:event).merge(Event.by_memory_id(memory_id))
         end
      Severity: Minor
      Found in app/models/memo.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/memo.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 between { and | missing.
      Open

            list = Event::SORT.map.with_index {|x, i| "('#{x}', #{i})" }
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

      Example: EnforcedStyle: space (default)

      # The `space` style enforces that block braces have
      # surrounding space.
      
      # bad
      some_array.each {puts e}
      
      # good
      some_array.each { puts e }

      Example: EnforcedStyle: no_space

      # The `no_space` style enforces that block braces don't
      # have surrounding space.
      
      # bad
      some_array.each { puts e }
      
      # good
      some_array.each {puts e}

      Example: EnforcedStyleForEmptyBraces: no_space (default)

      # The `no_space` EnforcedStyleForEmptyBraces style enforces that
      # block braces don't have a space in between when empty.
      
      # bad
      some_array.each {   }
      some_array.each {  }
      some_array.each { }
      
      # good
      some_array.each {}

      Example: EnforcedStyleForEmptyBraces: space

      # The `space` EnforcedStyleForEmptyBraces style enforces that
      # block braces have at least a spece in between when empty.
      
      # bad
      some_array.each {}
      
      # good
      some_array.each { }
      some_array.each {  }
      some_array.each {   }

      Example: SpaceBeforeBlockParameters: true (default)

      # The SpaceBeforeBlockParameters style set to `true` enforces that
      # there is a space between `{` and `|`. Overrides `EnforcedStyle`
      # if there is a conflict.
      
      # bad
      [1, 2, 3].each {|n| n * 2 }
      
      # good
      [1, 2, 3].each { |n| n * 2 }

      Example: SpaceBeforeBlockParameters: true

      # The SpaceBeforeBlockParameters style set to `false` enforces that
      # there is no space between `{` and `|`. Overrides `EnforcedStyle`
      # if there is a conflict.
      
      # bad
      [1, 2, 3].each { |n| n * 2 }
      
      # good
      [1, 2, 3].each {|n| n * 2 }

      Missing space after #.
      Open

            # TODO fix the correctness of the query
      Severity: Minor
      Found in app/models/memo.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

      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( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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 :in_calendaries, -> calendaries_in do
            return self if calendaries_in.blank?
      
            # TODO make single embedded select or after fix rails bug use merge
            calendaries = calendaries_in.is_a?(String) && calendaries_in.split(',') || calendaries_in
      Severity: Minor
      Found in app/models/memo.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 :by_token, -> text do
            left_outer_joins(:descriptions, :titles, :memory).
               where( "unaccent(descriptions.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
               where( "unaccent(titles_memoes.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
               where( "memories.short_name ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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_bond_to_year_date, -> context do
            language_codes = [ context[:locales] ].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            selector = self.select_values.dup
            if selector.empty?
      Severity: Minor
      Found in app/models/memo.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/memo.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 ]]

      Bad indentation of the first parameter.
      Open

               where( "memories.short_name ~* ?", "\\m#{text}.*" ).or(
               where( "memoes.add_date ~* ?", "\\m#{text}.*" ).or(
               where( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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)

      Unnecessary spacing detected.
      Open

            when /^(#{DAYS.join("|")})\.(\d+)\.до (\d+\.\d+)$/  #21.06>7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

      Put a space before an end-of-line comment.
      Open

               date = Time.parse("#{$2}.1970")# - 8.days
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for missing space between a token and a comment on the same line.

      Example:

      # bad
      1 + 1# this operation does ...
      
      # good
      1 + 1 # this operation does ...

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memo.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 ]]

      Unnecessary spacing detected.
      Open

            when /^(#{DAYS.join("|")})\.(\d+)\.до пасхи/  #-14
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

      Unnecessary spacing detected.
      Open

            when /^дн\.(\d+)\.по (\d+\.\d+)$/   #29.06<7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

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

         scope :with_orders, -> context do
            join_name = table.table_alias || table.name
            language_codes = [context[:locales]].flatten
            alphabeth_codes = Languageble.alphabeth_list_for(language_codes).flatten
            /`(?<scope_name>[^']*)'/ =~ caller.grep(/delegation/)[1]
      Severity: Minor
      Found in app/models/memo.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

            where( calendary_id: calendary_ids )
      Severity: Minor
      Found in app/models/memo.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

      # add_date[string]            - дата добавления записи в календарь
      Severity: Minor
      Found in app/models/memo.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 the lambda method for multiline lambdas.
      Open

         scope :with_calendary_title, -> context do
      Severity: Minor
      Found in app/models/memo.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

               date = Time.parse("#{$2}.1970")
      Severity: Minor
      Found in app/models/memo.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

               date = Time.parse("#{$3}.1970") + ($2.to_i - 1) * 7
      Severity: Minor
      Found in app/models/memo.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 | ["#{join_name}.*", "descriptions_#{scope_name}.text AS _title"]
      Severity: Minor
      Found in app/models/memo.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_calendary_title, -> context do
      Severity: Minor
      Found in app/models/memo.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}

      Space inside parentheses detected.
      Open

            calendary_ids = Slug.where( text: calendaries, sluggable_type: 'Calendary' ).select( :sluggable_id )
      Severity: Minor
      Found in app/models/memo.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

            where( calendary_id: calendary_ids )
      Severity: Minor
      Found in app/models/memo.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

               where( "unaccent(titles_memoes.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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. [136/130]
      Open

         validates :year_date, format: { with: /\A((0[1-9]|[1-2][0-9]|3[0-1])\.(0[1-9]|1[0-2])([%<>~][0-6])?|[+-]\d{1,3})\z/ }, if: :year_date
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Use only ascii symbols in comments.
      Open

      # bond_to_id[int]             - ссылка на опорный помин, если nil, помин первичный
      Severity: Minor
      Found in app/models/memo.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

      Freeze mutable objects assigned to constants.
      Open

         CONDITIONALS = {
            '<' => (1..7),
            '>' => (-7..-1),
            '%' => (0..6),
            '~' => (-3..3),
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks whether some constant value isn't a mutable literal (e.g. array or hash).

      Example:

      # bad
      CONST = [1, 2, 3]
      
      # good
      CONST = [1, 2, 3].freeze

      Avoid the use of Perl-style backrefs.
      Open

               days = ($2.to_i - 1) * 7 + daynum
      Severity: Minor
      Found in app/models/memo.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

               daynum = DAYS.index($1)
      Severity: Minor
      Found in app/models/memo.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

               date = Time.parse("#{$3}.1970") + ($2.to_i - 1) * 7
      Severity: Minor
      Found in app/models/memo.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

            case self.year_date
      Severity: Minor
      Found in app/models/memo.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

      Space inside parentheses detected.
      Open

               where( "memoes.add_date ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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_date, ->(dates_in, julian = false) do
      Severity: Minor
      Found in app/models/memo.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

      Useless assignment to variable - as.
      Open

            /`(?<as>[^']*)'/ =~ caller.grep(/delegation/)[1]
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for every useless assignment to local variable in every scope. The basic idea for this cop was from the warning of ruby -cw:

      assigned but unused variable - foo

      Currently this cop has advanced logic that detects unreferenced reassignments and properly handles varied cases such as branch, loop, rescue, ensure, etc.

      Example:

      # bad
      
      def some_method
        some_var = 1
        do_something
      end

      Example:

      # good
      
      def some_method
        some_var = 1
        do_something(some_var)
      end

      Avoid the use of Perl-style backrefs.
      Open

               days = ($2.to_i - 1) * 7 + daynum
      Severity: Minor
      Found in app/models/memo.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)

      Line is too long. [200/130]
      Open

            joins(joi).select(selector).group(:id, "#{as}_memories.short_name", "#{as}_events.happened_at", "#{as}_event_titles.text", "#{as}_titles.text", "#{as}_calendary_titles.text", "memoes.year_date")
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Avoid the use of Perl-style backrefs.
      Open

               daynum = DAYSR.index($1) + 1
      Severity: Minor
      Found in app/models/memo.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 only ascii symbols in comments.
      Open

      # таким образом связывая память и календарь. Может быть либо прямым обычным помином,
      Severity: Minor
      Found in app/models/memo.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

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memo.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/memo.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/memo.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_event_title, -> context do
      Severity: Minor
      Found in app/models/memo.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_date, -> do
      Severity: Minor
      Found in app/models/memo.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 only ascii symbols in comments.
      Open

      # event_id[int]               - ссылка на событие
      Severity: Minor
      Found in app/models/memo.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 the lambda method for multiline lambdas.
      Open

         scope :with_memo_orders, -> context do
      Severity: Minor
      Found in app/models/memo.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 only ascii symbols in comments.
      Open

      # id[int]                     - опознаватель
      Severity: Minor
      Found in app/models/memo.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

               daynum = DAYSN.index($1) + 1
      Severity: Minor
      Found in app/models/memo.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 only ascii symbols in comments.
      Open

            # TODO fix the correctness of the query
      Severity: Minor
      Found in app/models/memo.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

               daynum = DAYS.index($1)
      Severity: Minor
      Found in app/models/memo.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)

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

         DAYS = %w(нд пн вт ср чт пт сб)
      Severity: Minor
      Found in app/models/memo.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

               date = Time.parse("#{$3}.1970") - 8.days - ($2.to_i - 1) * 7
      Severity: Minor
      Found in app/models/memo.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

               daynum = DAYSN.index($1) + 1
      Severity: Minor
      Found in app/models/memo.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/memo.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/memo.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

      Avoid the use of Perl-style backrefs.
      Open

               date = Time.parse("#{$2}.1970") + $1.to_i
      Severity: Minor
      Found in app/models/memo.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)

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_orders, -> context do
      Severity: Minor
      Found in app/models/memo.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 :by_tokens, -> string_in do
      Severity: Minor
      Found in app/models/memo.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

            joins(join).select(selector).group(:id, "titles.text", "memo_events.happened_at", "event_titles.text")
      Severity: Minor
      Found in app/models/memo.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"

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

                                                    'memo_events.happened_at',
      Severity: Minor
      Found in app/models/memo.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

      Incorrect indentation detected (column 0 instead of 6).
      Open

      #      select(selector).group(:id)
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cops checks the indentation of comments.

      Example:

      # bad
        # comment here
      def method_name
      end
      
        # comment here
      a = 'hello'
      
      # yet another comment
        if true
          true
        end
      
      # good
      # comment here
      def method_name
      end
      
      # comment here
      a = 'hello'
      
      # yet another comment
      if true
        true
      end

      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( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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_calendary_title, -> context do
            language_codes = [ context[:locales] ].flatten
            selector = self.select_values.dup
            if selector.empty?
               selector << 'memoes.*'
      Severity: Minor
      Found in app/models/memo.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/memo.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

               where( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

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

      Trailing whitespace detected.
      Open

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

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

            if bind_kind_code.blank?
      Severity: Minor
      Found in app/models/memo.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_calendary_slug_text, ->(context) do
      Severity: Minor
      Found in app/models/memo.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_event, -> context do
      Severity: Minor
      Found in app/models/memo.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

               date = Time.parse("#{$2}.1970")
      Severity: Minor
      Found in app/models/memo.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

               daynum = DAYS.index($1)
      Severity: Minor
      Found in app/models/memo.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)

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_value_memoried, -> context do 
      Severity: Minor
      Found in app/models/memo.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_title, -> context do
      Severity: Minor
      Found in app/models/memo.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_memo_orders, -> context do
      Severity: Minor
      Found in app/models/memo.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}

      Space inside parentheses detected.
      Open

               where( "unaccent(titles_memoes.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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_title, -> context do
      Severity: Minor
      Found in app/models/memo.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_to_year_date, -> context do
      Severity: Minor
      Found in app/models/memo.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.year_date
      Severity: Minor
      Found in app/models/memo.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

      Space inside parentheses detected.
      Open

               where( "unaccent(descriptions.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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_calendary_slug_text, ->(context) do
      Severity: Minor
      Found in app/models/memo.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

      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/memo.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_tokens, -> string_in do
      Severity: Minor
      Found in app/models/memo.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 :by_memory_id, -> (memory_id) do
      Severity: Minor
      Found in app/models/memo.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

            calendary_ids = Slug.where( text: calendaries, sluggable_type: 'Calendary' ).select( :sluggable_id )
      Severity: Minor
      Found in app/models/memo.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_value_memoried, -> context do 
      Severity: Minor
      Found in app/models/memo.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

               where( "unaccent(descriptions.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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/memo.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

               daynum = DAYS.index($1)
      Severity: Minor
      Found in app/models/memo.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)

      Space inside parentheses detected.
      Open

               where( "memoes.add_date ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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

      # class Memo содержит сведения о помине какой-либо памяти в календаре,
      Severity: Minor
      Found in app/models/memo.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

      # year_date[string]           - дата в году постоянная или перемещаемая, когда память отмечается
      Severity: Minor
      Found in app/models/memo.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

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

            if bond_to.calendary_id != calendary_id
      Severity: Minor
      Found in app/models/memo.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_slug_text, -> do
      Severity: Minor
      Found in app/models/memo.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

      Unnecessary spacing detected.
      Open

            when /^дн\.(\d+)\.с (\d+\.\d+)$/   #29.06%7
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for extra/unnecessary whitespace.

      Example:

      # good if AllowForAlignment is true
      name      = "RuboCop"
      # Some comment and an empty line
      
      website  += "/bbatsov/rubocop" unless cond
      puts        "rubocop"          if     debug
      
      # bad for any configuration
      set_app("RuboCop")
      website  = "https://github.com/bbatsov/rubocop"

      Missing space after #.
      Open

            when /^дн\.(\d+)\.по (\d+\.\d+)$/   #29.06<7
      Severity: Minor
      Found in app/models/memo.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

      Use the lambda method for multiline lambdas.
      Open

         scope :with_thumb_url, -> do
      Severity: Minor
      Found in app/models/memo.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

      Missing space after #.
      Open

            when /^(#{DAYS.join("|")})\.(\d+)\.по (\d+\.\d+)$/   #29.06<7
      Severity: Minor
      Found in app/models/memo.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

      Redundant self detected.
      Open

            self.unscope(:where, :order)
      Severity: Minor
      Found in app/models/memo.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

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

         scope :with_memory_event, -> context do
            language_codes = [ context[:locales] ].flatten
            selector = self.select_values.dup
            if selector.empty?
               selector << 'memoes.*'
      Severity: Minor
      Found in app/models/memo.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 }

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memo.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

      Do not use space inside array brackets.
      Open

            language_codes = [ context[:locales] ].flatten
      Severity: Minor
      Found in app/models/memo.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 ]]

      Redundant self detected.
      Open

            selector = self.select_values.dup
      Severity: Minor
      Found in app/models/memo.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

      Space inside parentheses detected.
      Open

         scope :licit, -> { joins( :calendary ).where( calendaries: { licit: true })}
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Checks for spaces inside ordinary round parentheses.

      Example:

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

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :in_calendaries, -> calendaries_in do
      Severity: Minor
      Found in app/models/memo.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_key, -> _ do
      Severity: Minor
      Found in app/models/memo.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

               date = Time.parse("#{$2}.1970") # - 4.days
      Severity: Minor
      Found in app/models/memo.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

               daynum = DAYS.index($1)
      Severity: Minor
      Found in app/models/memo.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.merge(or_rel).distinct
      Severity: Minor
      Found in app/models/memo.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

            or_rel_tokens = string_in.split(/\//).map do |or_token|
      Severity: Minor
      Found in app/models/memo.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 :with_bond_to_title, -> context do
      Severity: Minor
      Found in app/models/memo.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/memo.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"

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

                                                    'event_kind_titles.text')
      Severity: Minor
      Found in app/models/memo.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

      Space inside parentheses detected.
      Open

            calendary_ids = Slug.where( text: calendaries, sluggable_type: 'Calendary' ).select( :sluggable_id )
      Severity: Minor
      Found in app/models/memo.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

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

      Checks for spaces inside ordinary round parentheses.

      Example:

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

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

         has_many :services, as: :info, inverse_of: :info # TODO додаь задачу превода service_links/ServiceLink во Service
      Severity: Minor
      Found in app/models/memo.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

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

            if bond_to.memory.id != memory.id
      Severity: Minor
      Found in app/models/memo.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_event_id, -> (event_id) do
      Severity: Minor
      Found in app/models/memo.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

      Freeze mutable objects assigned to constants.
      Open

         DAYS = %w(нд пн вт ср чт пт сб)
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks whether some constant value isn't a mutable literal (e.g. array or hash).

      Example:

      # bad
      CONST = [1, 2, 3]
      
      # good
      CONST = [1, 2, 3].freeze

      Avoid the use of Perl-style backrefs.
      Open

               date = Time.parse("#{$3}.1970") - 8.days - ($2.to_i - 1) * 7
      Severity: Minor
      Found in app/models/memo.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)

      Space inside parentheses detected.
      Open

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

      Checks for spaces inside ordinary round parentheses.

      Example:

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

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

            # TODO make single embedded select or after fix rails bug use merge
      Severity: Minor
      Found in app/models/memo.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

      Use a guard clause instead of wrapping the code inside a conditional expression.
      Open

            if bond_to.memory.id != memory.id
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Use a guard clause instead of wrapping the code inside a conditional expression

      Example:

      # bad
      def test
        if something
          work
        end
      end
      
      # good
      def test
        return unless something
        work
      end
      
      # also good
      def test
        work if something
      end
      
      # bad
      if something
        raise 'exception'
      else
        ok
      end
      
      # good
      raise 'exception' if something
      ok

      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/memo.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?

      Avoid the use of Perl-style backrefs.
      Open

               daynum = DAYS.index($1)
      Severity: Minor
      Found in app/models/memo.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

               date = Time.parse("#{$2}.1970")# - 8.days
      Severity: Minor
      Found in app/models/memo.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/memo.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

      Line is too long. [170/130]
      Open

            selector << "memoes.year_date || ' [' || memo_events.happened_at || ' - ' || COALESCE(event_titles.text, '') || ' - ' || COALESCE(titles.text, '') || ']' AS _value"
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_value, -> context do
      Severity: Minor
      Found in app/models/memo.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_bond_to_year_date, -> context do
      Severity: Minor
      Found in app/models/memo.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_memory_event, -> context do
      Severity: Minor
      Found in app/models/memo.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 only ascii symbols in comments.
      Open

      # содержащим поле годовой даты year_date, либо соборным помином, таким
      Severity: Minor
      Found in app/models/memo.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

      # calendary_id[int]           - ссылка на календарь
      Severity: Minor
      Found in app/models/memo.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

      # образом указывая на другой помин, содержащий годовую дату и имеющим род собора.
      Severity: Minor
      Found in app/models/memo.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

      # bind_kind_code[string]      - тип привязки к опорному помину(может быть не привязан)
      Severity: Minor
      Found in app/models/memo.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 the lambda method for multiline lambdas.
      Open

         scope :with_bond_to_title, -> context do
      Severity: Minor
      Found in app/models/memo.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

               date = Time.parse("#{$2}.1970") + $1.to_i
      Severity: Minor
      Found in app/models/memo.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 a guard clause instead of wrapping the code inside a conditional expression.
      Open

            if bond_to.calendary_id != calendary_id
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Use a guard clause instead of wrapping the code inside a conditional expression

      Example:

      # bad
      def test
        if something
          work
        end
      end
      
      # good
      def test
        return unless something
        work
      end
      
      # also good
      def test
        work if something
      end
      
      # bad
      if something
        raise 'exception'
      else
        ok
      end
      
      # good
      raise 'exception' if something
      ok

      Space inside parentheses detected.
      Open

               where( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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 selector.empty?
      Severity: Minor
      Found in app/models/memo.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

         scope :licit_with, ->(c) { self.left_outer_joins(:slug).licit.or(self.in_calendaries(c)) }
      Severity: Minor
      Found in app/models/memo.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 :first_in_calendary, -> do
      Severity: Minor
      Found in app/models/memo.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

      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/memo.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_event, -> do
      Severity: Minor
      Found in app/models/memo.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

      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/memo.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_event_title, -> context do
      Severity: Minor
      Found in app/models/memo.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_value, -> context do
      Severity: Minor
      Found in app/models/memo.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 :by_calendary_id, -> (calendary_id) do
      Severity: Minor
      Found in app/models/memo.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, -> do
      Severity: Minor
      Found in app/models/memo.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/memo.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/memo.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

            klass = self.model_name.name.constantize
      Severity: Minor
      Found in app/models/memo.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/memo.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

      Avoid the use of Perl-style backrefs.
      Open

               daynum = DAYSR.index($1) + 1
      Severity: Minor
      Found in app/models/memo.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)

      Wrap stabby lambda arguments with parentheses.
      Open

         scope :with_key, -> _ do
      Severity: Minor
      Found in app/models/memo.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}

      Redundant self detected.
      Open

         scope :licit_with, ->(c) { self.left_outer_joins(:slug).licit.or(self.in_calendaries(c)) }
      Severity: Minor
      Found in app/models/memo.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/memo.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/memo.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

         has_one :thumb, -> { order(Arel.sql("random()")).select(:url).limit(1) }, through: :memory, source: :thumbs
      Severity: Minor
      Found in app/models/memo.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

            calendary_ids = Slug.where( text: calendaries, sluggable_type: 'Calendary' ).select( :sluggable_id )
      Severity: Minor
      Found in app/models/memo.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

         has_many :services, as: :info, inverse_of: :info # TODO додаь задачу превода service_links/ServiceLink во Service
      Severity: Minor
      Found in app/models/memo.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 a guard clause instead of wrapping the code inside a conditional expression.
      Open

            if bind_kind_code.blank?
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      Use a guard clause instead of wrapping the code inside a conditional expression

      Example:

      # bad
      def test
        if something
          work
        end
      end
      
      # good
      def test
        return unless something
        work
      end
      
      # also good
      def test
        work if something
      end
      
      # bad
      if something
        raise 'exception'
      else
        ok
      end
      
      # good
      raise 'exception' if something
      ok

      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/memo.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 :in_calendaries, -> calendaries_in do
      Severity: Minor
      Found in app/models/memo.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_base_year, -> do
      Severity: Minor
      Found in app/models/memo.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

            sql = self.joins(:calendary_slug, :memory)
      Severity: Minor
      Found in app/models/memo.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 inside interpolations.
      Open

               "#{date.strftime("%1d.%m")}<#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks that quotes inside the string interpolation match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      result = "Tests #{success ? "PASS" : "FAIL"}"
      
      # good
      result = "Tests #{success ? 'PASS' : 'FAIL'}"

      Example: EnforcedStyle: double_quotes

      # bad
      result = "Tests #{success ? 'PASS' : 'FAIL'}"
      
      # good
      result = "Tests #{success ? "PASS" : "FAIL"}"

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

                        match.present? && "29.02#{match[1]}#{wday}" || "29.02"
      Severity: Minor
      Found in app/models/memo.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 inside interpolations.
      Open

               "#{date.strftime("%1d.%m")}~#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks that quotes inside the string interpolation match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      result = "Tests #{success ? "PASS" : "FAIL"}"
      
      # good
      result = "Tests #{success ? 'PASS' : 'FAIL'}"

      Example: EnforcedStyle: double_quotes

      # bad
      result = "Tests #{success ? 'PASS' : 'FAIL'}"
      
      # good
      result = "Tests #{success ? "PASS" : "FAIL"}"

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

            joins(join).select(selector).group(:id, "titles.text", "memo_events.happened_at", "event_titles.text")
      Severity: Minor
      Found in app/models/memo.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

            joins(join).select(selector).group(:id, "titles.text", "memo_events.happened_at", "event_titles.text")
      Severity: Minor
      Found in app/models/memo.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

               where( "unaccent(titles_memoes.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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

              "memo_event_memories.id AS _memory_id",
      Severity: Minor
      Found in app/models/memo.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

               where( "memories.short_name ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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

               where( "memoes.add_date ~* ?", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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

               "+0"
      Severity: Minor
      Found in app/models/memo.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

               where( "unaccent(descriptions.text) ~* unaccent(?)", "\\m#{text}.*" ).or(
      Severity: Minor
      Found in app/models/memo.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 inside interpolations.
      Open

            join = "LEFT OUTER JOIN (VALUES #{list.join(", ")})
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks that quotes inside the string interpolation match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      result = "Tests #{success ? "PASS" : "FAIL"}"
      
      # good
      result = "Tests #{success ? 'PASS' : 'FAIL'}"

      Example: EnforcedStyle: double_quotes

      # bad
      result = "Tests #{success ? 'PASS' : 'FAIL'}"
      
      # good
      result = "Tests #{success ? "PASS" : "FAIL"}"

      Avoid comma after the last item of a hash.
      Open

            '~' => (-3..3),
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks for trailing comma in array and hash literals.

      Example: EnforcedStyleForMultiline: consistent_comma

      # bad
      a = [1, 2,]
      
      # good
      a = [
        1, 2,
        3,
      ]
      
      # good
      a = [
        1,
        2,
      ]

      Example: EnforcedStyleForMultiline: comma

      # bad
      a = [1, 2,]
      
      # good
      a = [
        1,
        2,
      ]

      Example: EnforcedStyleForMultiline: no_comma (default)

      # bad
      a = [1, 2,]
      
      # good
      a = [
        1,
        2
      ]

      Prefer single-quoted strings inside interpolations.
      Open

               "#{date.strftime("%1d.%m")}%#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks that quotes inside the string interpolation match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      result = "Tests #{success ? "PASS" : "FAIL"}"
      
      # good
      result = "Tests #{success ? 'PASS' : 'FAIL'}"

      Example: EnforcedStyle: double_quotes

      # bad
      result = "Tests #{success ? 'PASS' : 'FAIL'}"
      
      # good
      result = "Tests #{success ? "PASS" : "FAIL"}"

      Prefer single-quoted strings inside interpolations.
      Open

               "#{date.strftime("%1d.%m")}>#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks that quotes inside the string interpolation match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      result = "Tests #{success ? "PASS" : "FAIL"}"
      
      # good
      result = "Tests #{success ? 'PASS' : 'FAIL'}"

      Example: EnforcedStyle: double_quotes

      # bad
      result = "Tests #{success ? 'PASS' : 'FAIL'}"
      
      # good
      result = "Tests #{success ? "PASS" : "FAIL"}"

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

               where( "memoes.year_date ~* ?", "\\m#{text}.*" )))))
      Severity: Minor
      Found in app/models/memo.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

            joins(joi).select(selector).group(:id, "#{as}_memories.short_name", "#{as}_events.happened_at", "#{as}_event_titles.text", "#{as}_titles.text", "#{as}_calendary_titles.text", "memoes.year_date")
      Severity: Minor
      Found in app/models/memo.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

                                               "bond_to_memo_events.happened_at",
      Severity: Minor
      Found in app/models/memo.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

               date.strftime("%1d.%m")
      Severity: Minor
      Found in app/models/memo.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 inside interpolations.
      Open

               "#{date.strftime("%1d.%m")}>#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks that quotes inside the string interpolation match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      result = "Tests #{success ? "PASS" : "FAIL"}"
      
      # good
      result = "Tests #{success ? 'PASS' : 'FAIL'}"

      Example: EnforcedStyle: double_quotes

      # bad
      result = "Tests #{success ? 'PASS' : 'FAIL'}"
      
      # good
      result = "Tests #{success ? "PASS" : "FAIL"}"

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

              "memo_event_memories.short_name AS _memory_name",
      Severity: Minor
      Found in app/models/memo.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

                                               "titles.text",
      Severity: Minor
      Found in app/models/memo.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

                                               "bond_to_event_titles.text")
      Severity: Minor
      Found in app/models/memo.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

                                               "bond_to_memoes.year_date",
      Severity: Minor
      Found in app/models/memo.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 inside interpolations.
      Open

               "#{date.strftime("%1d.%m")}<#{daynum}"
      Severity: Minor
      Found in app/models/memo.rb by rubocop

      This cop checks that quotes inside the string interpolation match the configured preference.

      Example: EnforcedStyle: single_quotes (default)

      # bad
      result = "Tests #{success ? "PASS" : "FAIL"}"
      
      # good
      result = "Tests #{success ? 'PASS' : 'FAIL'}"

      Example: EnforcedStyle: double_quotes

      # bad
      result = "Tests #{success ? 'PASS' : 'FAIL'}"
      
      # good
      result = "Tests #{success ? "PASS" : "FAIL"}"

      There are no issues that match your filters.

      Category
      Status