redi_search 1.0.4 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/lint.yml +18 -0
- data/.github/workflows/tests.yml +45 -0
- data/.rubocop.yml +136 -193
- data/Appraisals +6 -6
- data/Gemfile +4 -4
- data/README.md +79 -92
- data/Rakefile +15 -3
- data/bin/console +29 -0
- data/gemfiles/{rails_51.gemfile → activerecord_51.gemfile} +3 -4
- data/gemfiles/{rails_52.gemfile → activerecord_52.gemfile} +3 -4
- data/gemfiles/{rails_6.gemfile → activerecord_61.gemfile} +3 -4
- data/lib/redi_search.rb +8 -7
- data/lib/redi_search/{alter.rb → add_field.rb} +13 -5
- data/lib/redi_search/client.rb +23 -11
- data/lib/redi_search/client/response.rb +5 -1
- data/lib/redi_search/configuration.rb +1 -11
- data/lib/redi_search/create.rb +7 -4
- data/lib/redi_search/document.rb +5 -13
- data/lib/redi_search/document/display.rb +9 -9
- data/lib/redi_search/document/finder.rb +12 -42
- data/lib/redi_search/hset.rb +28 -0
- data/lib/redi_search/index.rb +24 -22
- data/lib/redi_search/lazily_load.rb +6 -11
- data/lib/redi_search/log_subscriber.rb +25 -53
- data/lib/redi_search/model.rb +37 -39
- data/lib/redi_search/schema.rb +3 -3
- data/lib/redi_search/schema/field.rb +2 -3
- data/lib/redi_search/schema/tag_field.rb +1 -1
- data/lib/redi_search/schema/text_field.rb +1 -1
- data/lib/redi_search/search.rb +15 -25
- data/lib/redi_search/search/clauses.rb +6 -7
- data/lib/redi_search/search/clauses/application_clause.rb +20 -5
- data/lib/redi_search/search/clauses/boolean.rb +9 -9
- data/lib/redi_search/search/clauses/highlight.rb +18 -2
- data/lib/redi_search/search/clauses/limit.rb +7 -5
- data/lib/redi_search/search/clauses/or.rb +1 -1
- data/lib/redi_search/search/clauses/return.rb +1 -1
- data/lib/redi_search/search/clauses/slop.rb +1 -1
- data/lib/redi_search/search/clauses/sort_by.rb +1 -1
- data/lib/redi_search/search/clauses/where.rb +10 -2
- data/lib/redi_search/search/result.rb +10 -10
- data/lib/redi_search/search/term.rb +7 -6
- data/lib/redi_search/spellcheck.rb +3 -4
- data/lib/redi_search/spellcheck/result.rb +1 -1
- data/lib/redi_search/validatable.rb +49 -0
- data/lib/redi_search/validations/inclusion.rb +26 -0
- data/lib/redi_search/validations/numericality.rb +45 -0
- data/lib/redi_search/validations/presence.rb +29 -0
- data/lib/redi_search/version.rb +1 -1
- data/redi_search.gemspec +1 -3
- metadata +20 -50
- data/.travis.yml +0 -31
- data/bin/test +0 -7
- data/lib/redi_search/add.rb +0 -63
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: d3903d2f2ac5a8e6e8c82a507fbef8cad83d11b28a8e68dca6441844dc0b89cd
         | 
| 4 | 
            +
              data.tar.gz: 6357b63845acdaea9df5d441154f77a3d5e353b2fed2c5e4cbbe58a5a6ad5071
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 94dc557ed0ee0ce1868ef92401928e68442eae74990595bfa26a26de4358f57526a8ef012203b67eae3ddbc6d576a2816b9715f41d140789d8fa3eed6ad09832
         | 
| 7 | 
            +
              data.tar.gz: ae05dd2140a22dc5a73e9d90014eb580c0b3bc2276dc515d176efb767cb267a5ffa113cbabbf01fb1b7281e506dbf7798d26f9cbdad167b26afe550e608ecd8d
         | 
| @@ -0,0 +1,18 @@ | |
| 1 | 
            +
            name: lint
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            on: [push,pull_request]
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            jobs:
         | 
| 6 | 
            +
              lint:
         | 
| 7 | 
            +
                runs-on: ubuntu-latest
         | 
| 8 | 
            +
                steps:
         | 
| 9 | 
            +
                - uses: actions/checkout@v2
         | 
| 10 | 
            +
                - name: Set up Ruby 2.7
         | 
| 11 | 
            +
                  uses: ruby/setup-ruby@v1
         | 
| 12 | 
            +
                  with:
         | 
| 13 | 
            +
                    ruby-version: 2.7
         | 
| 14 | 
            +
                - name: Install rubocop
         | 
| 15 | 
            +
                  run: |
         | 
| 16 | 
            +
                    gem install rubocop rubocop-performance rubocop-minitest
         | 
| 17 | 
            +
                - name: Lint
         | 
| 18 | 
            +
                  run: rubocop --config=./.rubocop.yml --parallel
         | 
| @@ -0,0 +1,45 @@ | |
| 1 | 
            +
            name: tests
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            on: [push,pull_request]
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            jobs:
         | 
| 6 | 
            +
              unit:
         | 
| 7 | 
            +
                runs-on: ubuntu-latest
         | 
| 8 | 
            +
                strategy:
         | 
| 9 | 
            +
                  matrix:
         | 
| 10 | 
            +
                    ruby: [ '2.5', '2.6', '2.7' ]
         | 
| 11 | 
            +
                    gemfile: [ 'Gemfile', 'gemfiles/activerecord_51.gemfile', 'gemfiles/activerecord_52.gemfile', 'gemfiles/activerecord_61.gemfile' ]
         | 
| 12 | 
            +
                steps:
         | 
| 13 | 
            +
                - uses: actions/checkout@v2
         | 
| 14 | 
            +
                - name: Set up Ruby ${{ matrix.ruby }}
         | 
| 15 | 
            +
                  uses: ruby/setup-ruby@v1
         | 
| 16 | 
            +
                  with:
         | 
| 17 | 
            +
                    ruby-version: ${{ matrix.ruby }}
         | 
| 18 | 
            +
                    bundler-cache: false
         | 
| 19 | 
            +
                - name: Install dependencies
         | 
| 20 | 
            +
                  run: |
         | 
| 21 | 
            +
                    sudo apt-get install libsqlite3-dev -y
         | 
| 22 | 
            +
                    gem install bundler --no-document
         | 
| 23 | 
            +
                    BUNDLE_GEMFILE=${{ matrix.gemfile }} bundle install
         | 
| 24 | 
            +
                - name: Run tests
         | 
| 25 | 
            +
                  run: BUNDLE_GEMFILE=${{ matrix.gemfile }} bundle exec rake test:unit
         | 
| 26 | 
            +
              integration:
         | 
| 27 | 
            +
                runs-on: ubuntu-latest
         | 
| 28 | 
            +
                services:
         | 
| 29 | 
            +
                  redisearch:
         | 
| 30 | 
            +
                    image: redislabs/redisearch:2.0.2
         | 
| 31 | 
            +
                    ports:
         | 
| 32 | 
            +
                      - 6379:6379
         | 
| 33 | 
            +
                steps:
         | 
| 34 | 
            +
                - uses: actions/checkout@v2
         | 
| 35 | 
            +
                - name: Set up Ruby 2.7
         | 
| 36 | 
            +
                  uses: ruby/setup-ruby@v1
         | 
| 37 | 
            +
                  with:
         | 
| 38 | 
            +
                    ruby-version: 2.7
         | 
| 39 | 
            +
                - name: Install dependencies
         | 
| 40 | 
            +
                  run: |
         | 
| 41 | 
            +
                    sudo apt-get install libsqlite3-dev -y
         | 
| 42 | 
            +
                    bundle install
         | 
| 43 | 
            +
                - name: Run tests
         | 
| 44 | 
            +
                  run: |
         | 
| 45 | 
            +
                    bundle exec rake test:integration
         | 
    
        data/.rubocop.yml
    CHANGED
    
    | @@ -1,7 +1,8 @@ | |
| 1 1 | 
             
            require:
         | 
| 2 | 
            +
              - rubocop-minitest
         | 
| 2 3 | 
             
              - rubocop-performance
         | 
| 3 | 
            -
              - rubocop-rails
         | 
| 4 4 | 
             
            AllCops:
         | 
| 5 | 
            +
              NewCops: enable
         | 
| 5 6 | 
             
              Exclude:
         | 
| 6 7 | 
             
                - vendor/**/*
         | 
| 7 8 | 
             
                - Gemfile.lock
         | 
| @@ -10,6 +11,7 @@ AllCops: | |
| 10 11 | 
             
                - tmp/**/*
         | 
| 11 12 | 
             
                - test/dummy/db/schema.rb
         | 
| 12 13 | 
             
                - gemfiles/**/*
         | 
| 14 | 
            +
                - bin/**/*
         | 
| 13 15 | 
             
              TargetRubyVersion: 2.5
         | 
| 14 16 |  | 
| 15 17 | 
             
            # Department Bundler
         | 
| @@ -36,16 +38,16 @@ Layout/AccessModifierIndentation: | |
| 36 38 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected
         | 
| 37 39 | 
             
              Enabled: false
         | 
| 38 40 |  | 
| 39 | 
            -
            Layout/ | 
| 41 | 
            +
            Layout/ArrayAlignment:
         | 
| 40 42 | 
             
              Description: Align the elements of an array literal if they span more than one line.
         | 
| 41 43 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays
         | 
| 42 44 | 
             
              Enabled: true
         | 
| 43 45 |  | 
| 44 | 
            -
            Layout/ | 
| 46 | 
            +
            Layout/HashAlignment:
         | 
| 45 47 | 
             
              Description: Align the elements of a hash literal if they span more than one line.
         | 
| 46 48 | 
             
              Enabled: true
         | 
| 47 49 |  | 
| 48 | 
            -
            Layout/ | 
| 50 | 
            +
            Layout/ParameterAlignment:
         | 
| 49 51 | 
             
              Description: Align the parameters of a method call if they span more than one line.
         | 
| 50 52 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-double-indent
         | 
| 51 53 | 
             
              Enabled: true
         | 
| @@ -151,7 +153,7 @@ Layout/InitialIndentation: | |
| 151 153 | 
             
              Description: Checks the indentation of the first non-blank non-comment line in a file.
         | 
| 152 154 | 
             
              Enabled: false
         | 
| 153 155 |  | 
| 154 | 
            -
            Layout/ | 
| 156 | 
            +
            Layout/FirstArgumentIndentation:
         | 
| 155 157 | 
             
              Description: Checks the indentation of the first parameter in a method call.
         | 
| 156 158 | 
             
              Enabled: false
         | 
| 157 159 |  | 
| @@ -165,19 +167,19 @@ Layout/IndentationWidth: | |
| 165 167 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
         | 
| 166 168 | 
             
              Enabled: true
         | 
| 167 169 |  | 
| 168 | 
            -
            Layout/ | 
| 170 | 
            +
            Layout/FirstArrayElementIndentation:
         | 
| 169 171 | 
             
              Description: Checks the indentation of the first element in an array literal.
         | 
| 170 172 | 
             
              Enabled: false
         | 
| 171 173 |  | 
| 172 | 
            -
            Layout/ | 
| 174 | 
            +
            Layout/AssignmentIndentation:
         | 
| 173 175 | 
             
              Description: Checks the indentation of the first line of the right-hand-side of a multi-line assignment.
         | 
| 174 176 | 
             
              Enabled: true
         | 
| 175 177 |  | 
| 176 | 
            -
            Layout/ | 
| 178 | 
            +
            Layout/FirstHashElementIndentation:
         | 
| 177 179 | 
             
              Description: Checks the indentation of the first key in a hash literal.
         | 
| 178 180 | 
             
              Enabled: false
         | 
| 179 181 |  | 
| 180 | 
            -
            Layout/ | 
| 182 | 
            +
            Layout/HeredocIndentation:
         | 
| 181 183 | 
             
              Description: This cops checks the indentation of the here document bodies.
         | 
| 182 184 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#squiggly-heredocs
         | 
| 183 185 | 
             
              Enabled: true
         | 
| @@ -328,12 +330,15 @@ Layout/SpaceInsideStringInterpolation: | |
| 328 330 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#string-interpolation
         | 
| 329 331 | 
             
              Enabled: false
         | 
| 330 332 |  | 
| 331 | 
            -
            Layout/ | 
| 333 | 
            +
            Layout/IndentationStyle:
         | 
| 332 334 | 
             
              Description: No hard tabs.
         | 
| 333 335 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#spaces-indentation
         | 
| 334 336 | 
             
              Enabled: false
         | 
| 335 337 |  | 
| 336 | 
            -
            Layout/ | 
| 338 | 
            +
            Layout/SpaceAroundMethodCallOperator:
         | 
| 339 | 
            +
              Enabled: true
         | 
| 340 | 
            +
             | 
| 341 | 
            +
            Layout/TrailingEmptyLines:
         | 
| 337 342 | 
             
              Description: Checks trailing blank lines and final newline.
         | 
| 338 343 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#newline-eof
         | 
| 339 344 | 
             
              Enabled: false
         | 
| @@ -400,7 +405,7 @@ Lint/DuplicateMethods: | |
| 400 405 | 
             
              Description: Check for duplicate method definitions.
         | 
| 401 406 | 
             
              Enabled: true
         | 
| 402 407 |  | 
| 403 | 
            -
            Lint/ | 
| 408 | 
            +
            Lint/DuplicateHashKey:
         | 
| 404 409 | 
             
              Description: Check for duplicate keys in hash literals.
         | 
| 405 410 | 
             
              Enabled: true
         | 
| 406 411 |  | 
| @@ -433,10 +438,6 @@ Layout/EndAlignment: | |
| 433 438 | 
             
              Description: Align ends correctly.
         | 
| 434 439 | 
             
              Enabled: true
         | 
| 435 440 |  | 
| 436 | 
            -
            Lint/EndInMethod:
         | 
| 437 | 
            -
              Description: END blocks should not be placed inside method definitions.
         | 
| 438 | 
            -
              Enabled: true
         | 
| 439 | 
            -
             | 
| 440 441 | 
             
            Lint/EnsureReturn:
         | 
| 441 442 | 
             
              Description: Do not use return in an ensure block.
         | 
| 442 443 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-return-ensure
         | 
| @@ -450,7 +451,7 @@ Lint/FormatParameterMismatch: | |
| 450 451 | 
             
              Description: The number of parameters to format/sprint must match the fields.
         | 
| 451 452 | 
             
              Enabled: true
         | 
| 452 453 |  | 
| 453 | 
            -
            Lint/ | 
| 454 | 
            +
            Lint/SuppressedException:
         | 
| 454 455 | 
             
              Description: Don't suppress exception.
         | 
| 455 456 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#dont-hide-exceptions
         | 
| 456 457 | 
             
              Enabled: true
         | 
| @@ -484,7 +485,7 @@ Lint/Loop: | |
| 484 485 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#loop-with-break
         | 
| 485 486 | 
             
              Enabled: true
         | 
| 486 487 |  | 
| 487 | 
            -
            Lint/ | 
| 488 | 
            +
            Lint/MultipleComparison:
         | 
| 488 489 | 
             
              Description: Use `&&` operator to compare multiple value.
         | 
| 489 490 | 
             
              Enabled: true
         | 
| 490 491 |  | 
| @@ -559,7 +560,7 @@ Lint/ShadowingOuterLocalVariable: | |
| 559 560 | 
             
              Description: Do not use the same name as outer local variable for block arguments or block local variables.
         | 
| 560 561 | 
             
              Enabled: true
         | 
| 561 562 |  | 
| 562 | 
            -
            Lint/ | 
| 563 | 
            +
            Lint/RedundantStringCoercion:
         | 
| 563 564 | 
             
              Description: Checks for Object#to_s usage in string interpolation.
         | 
| 564 565 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-to-s
         | 
| 565 566 | 
             
              Enabled: true
         | 
| @@ -572,11 +573,11 @@ Lint/UnifiedInteger: | |
| 572 573 | 
             
              Description: Use Integer instead of Fixnum or Bignum
         | 
| 573 574 | 
             
              Enabled: true
         | 
| 574 575 |  | 
| 575 | 
            -
            Lint/ | 
| 576 | 
            +
            Lint/RedundantRequireStatement:
         | 
| 576 577 | 
             
              Description: Checks for unnecessary `require` statement.
         | 
| 577 578 | 
             
              Enabled: true
         | 
| 578 579 |  | 
| 579 | 
            -
            Lint/ | 
| 580 | 
            +
            Lint/RedundantSplatExpansion:
         | 
| 580 581 | 
             
              Description: Checks for splat unnecessarily being called on literals
         | 
| 581 582 | 
             
              Enabled: true
         | 
| 582 583 |  | 
| @@ -613,7 +614,7 @@ Lint/UselessAssignment: | |
| 613 614 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#underscore-unused-vars
         | 
| 614 615 | 
             
              Enabled: true
         | 
| 615 616 |  | 
| 616 | 
            -
            Lint/ | 
| 617 | 
            +
            Lint/BinaryOperatorWithIdenticalOperands:
         | 
| 617 618 | 
             
              Description: Checks for comparison of something with itself.
         | 
| 618 619 | 
             
              Enabled: true
         | 
| 619 620 |  | 
| @@ -647,7 +648,6 @@ Metrics/BlockLength: | |
| 647 648 | 
             
                - Rakefile
         | 
| 648 649 | 
             
                - "**/*.rake"
         | 
| 649 650 | 
             
                - spec/**/*.rb
         | 
| 650 | 
            -
                - 'config/routes.rb'
         | 
| 651 651 | 
             
                - 'config/environments/*.rb'
         | 
| 652 652 |  | 
| 653 653 | 
             
            Metrics/BlockNesting:
         | 
| @@ -665,12 +665,15 @@ Metrics/CyclomaticComplexity: | |
| 665 665 | 
             
              Description: A complexity metric that is strongly correlated to the number of test cases needed to validate a method.
         | 
| 666 666 | 
             
              Enabled: true
         | 
| 667 667 |  | 
| 668 | 
            -
             | 
| 668 | 
            +
            Layout/LineLength:
         | 
| 669 669 | 
             
              Description: Limit lines to 80 characters.
         | 
| 670 670 | 
             
              StyleGuide: '#80-character-limits'
         | 
| 671 671 | 
             
              Enabled: true
         | 
| 672 | 
            +
              Max: 80
         | 
| 672 673 | 
             
              Exclude:
         | 
| 673 674 | 
             
                - 'db/**/*'
         | 
| 675 | 
            +
                - 'config/initializers/**/*'
         | 
| 676 | 
            +
                - 'config/environments/**/*'
         | 
| 674 677 |  | 
| 675 678 | 
             
            Metrics/MethodLength:
         | 
| 676 679 | 
             
              Description: Avoid methods longer than 10 lines of code.
         | 
| @@ -774,13 +777,13 @@ Performance/CaseWhenSplat: | |
| 774 777 |  | 
| 775 778 | 
             
            Performance/Count:
         | 
| 776 779 | 
             
              Description: Use `count` instead of `select...size`, `reject...size`, `select...count`, `reject...count`, `select...length`, and `reject...length`.
         | 
| 777 | 
            -
               | 
| 780 | 
            +
              SafeAutoCorrect: true
         | 
| 778 781 | 
             
              Enabled: true
         | 
| 779 782 |  | 
| 780 783 | 
             
            Performance/Detect:
         | 
| 781 784 | 
             
              Description: Use `detect` instead of `select.first`, `find_all.first`, `select.last`, and `find_all.last`.
         | 
| 782 785 | 
             
              Reference: 'https://github.com/JuanitoFatas/fast-ruby#enumerabledetect-vs-enumerableselectfirst-code'
         | 
| 783 | 
            -
               | 
| 786 | 
            +
              SafeAutoCorrect: true
         | 
| 784 787 | 
             
              Enabled: true
         | 
| 785 788 |  | 
| 786 789 | 
             
            Performance/DoubleStartEndWith:
         | 
| @@ -822,6 +825,9 @@ Performance/RedundantMerge: | |
| 822 825 | 
             
              Reference: https://github.com/JuanitoFatas/fast-ruby#hashmerge-vs-hash-code
         | 
| 823 826 | 
             
              Enabled: true
         | 
| 824 827 |  | 
| 828 | 
            +
            Style/ExponentialNotation:
         | 
| 829 | 
            +
              Enabled: true
         | 
| 830 | 
            +
             | 
| 825 831 | 
             
            Style/RedundantSortBy:
         | 
| 826 832 | 
             
              Description: Use `sort` instead of `sort_by { |x| x }`.
         | 
| 827 833 | 
             
              Enabled: true
         | 
| @@ -873,161 +879,6 @@ Performance/UriDefaultParser: | |
| 873 879 | 
             
              Description: Use `URI::DEFAULT_PARSER` instead of `URI::Parser.new`.
         | 
| 874 880 | 
             
              Enabled: true
         | 
| 875 881 |  | 
| 876 | 
            -
            # Department Rails
         | 
| 877 | 
            -
            Rails/ActionFilter:
         | 
| 878 | 
            -
              Description: Enforces consistent use of action filter methods.
         | 
| 879 | 
            -
              Enabled: false
         | 
| 880 | 
            -
             | 
| 881 | 
            -
            Rails/ApplicationJob:
         | 
| 882 | 
            -
              Description: Check that jobs subclass ApplicationJob.
         | 
| 883 | 
            -
              Enabled: true
         | 
| 884 | 
            -
             | 
| 885 | 
            -
            Rails/ApplicationRecord:
         | 
| 886 | 
            -
              Description: Check that models subclass ApplicationRecord.
         | 
| 887 | 
            -
              Enabled: true
         | 
| 888 | 
            -
             | 
| 889 | 
            -
            Rails/ActiveSupportAliases:
         | 
| 890 | 
            -
              Description: 'Avoid ActiveSupport aliases of standard ruby methods: `String#starts_with?`, `String#ends_with?`, `Array#append`, `Array#prepend`.'
         | 
| 891 | 
            -
              Enabled: true
         | 
| 892 | 
            -
             | 
| 893 | 
            -
            Rails/Blank:
         | 
| 894 | 
            -
              Description: Enforce using `blank?` and `present?`.
         | 
| 895 | 
            -
              Enabled: true
         | 
| 896 | 
            -
              NilOrEmpty: true
         | 
| 897 | 
            -
              NotPresent: true
         | 
| 898 | 
            -
              UnlessPresent: true
         | 
| 899 | 
            -
             | 
| 900 | 
            -
            Rails/Date:
         | 
| 901 | 
            -
              Description: Checks the correct usage of date aware methods, such as Date.today, Date.current etc.
         | 
| 902 | 
            -
              Enabled: true
         | 
| 903 | 
            -
             | 
| 904 | 
            -
            Rails/Delegate:
         | 
| 905 | 
            -
              Description: Prefer delegate method for delegations.
         | 
| 906 | 
            -
              Enabled: true
         | 
| 907 | 
            -
             | 
| 908 | 
            -
            Rails/DelegateAllowBlank:
         | 
| 909 | 
            -
              Description: Do not use allow_blank as an option to delegate.
         | 
| 910 | 
            -
              Enabled: true
         | 
| 911 | 
            -
             | 
| 912 | 
            -
            Rails/DynamicFindBy:
         | 
| 913 | 
            -
              Description: Use `find_by` instead of dynamic `find_by_*`.
         | 
| 914 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#find_by
         | 
| 915 | 
            -
              Enabled: true
         | 
| 916 | 
            -
             | 
| 917 | 
            -
            Rails/EnumUniqueness:
         | 
| 918 | 
            -
              Description: Avoid duplicate integers in hash-syntax `enum` declaration.
         | 
| 919 | 
            -
              Enabled: true
         | 
| 920 | 
            -
             | 
| 921 | 
            -
            Rails/Exit:
         | 
| 922 | 
            -
              Description: Favor `fail`, `break`, `return`, etc. over `exit` in application or library code outside of Rake files to avoid exits during unit testing or running in production.
         | 
| 923 | 
            -
              Enabled: true
         | 
| 924 | 
            -
             | 
| 925 | 
            -
            Rails/FilePath:
         | 
| 926 | 
            -
              Description: Use `Rails.root.join` for file path joining.
         | 
| 927 | 
            -
              Enabled: true
         | 
| 928 | 
            -
             | 
| 929 | 
            -
            Rails/FindBy:
         | 
| 930 | 
            -
              Description: Prefer find_by over where.first.
         | 
| 931 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#find_by
         | 
| 932 | 
            -
              Enabled: true
         | 
| 933 | 
            -
             | 
| 934 | 
            -
            Rails/FindEach:
         | 
| 935 | 
            -
              Description: Prefer all.find_each over all.find.
         | 
| 936 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#find-each
         | 
| 937 | 
            -
              Enabled: true
         | 
| 938 | 
            -
             | 
| 939 | 
            -
            Rails/HasAndBelongsToMany:
         | 
| 940 | 
            -
              Description: Prefer has_many :through to has_and_belongs_to_many.
         | 
| 941 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#has-many-through
         | 
| 942 | 
            -
              Enabled: true
         | 
| 943 | 
            -
             | 
| 944 | 
            -
            Rails/HasManyOrHasOneDependent:
         | 
| 945 | 
            -
              Description: Define the dependent option to the has_many and has_one associations.
         | 
| 946 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#has_many-has_one-dependent-option
         | 
| 947 | 
            -
              Enabled: true
         | 
| 948 | 
            -
             | 
| 949 | 
            -
            Rails/HttpPositionalArguments:
         | 
| 950 | 
            -
              Description: Use keyword arguments instead of positional arguments in http method calls.
         | 
| 951 | 
            -
              Enabled: true
         | 
| 952 | 
            -
             | 
| 953 | 
            -
            Rails/NotNullColumn:
         | 
| 954 | 
            -
              Description: Do not add a NOT NULL column without a default value
         | 
| 955 | 
            -
              Enabled: true
         | 
| 956 | 
            -
             | 
| 957 | 
            -
            Rails/Output:
         | 
| 958 | 
            -
              Description: Checks for calls to puts, print, etc.
         | 
| 959 | 
            -
              Enabled: true
         | 
| 960 | 
            -
             | 
| 961 | 
            -
            Rails/OutputSafety:
         | 
| 962 | 
            -
              Description: The use of `html_safe` or `raw` may be a security risk.
         | 
| 963 | 
            -
              Enabled: true
         | 
| 964 | 
            -
             | 
| 965 | 
            -
            Rails/PluralizationGrammar:
         | 
| 966 | 
            -
              Description: Checks for incorrect grammar when using methods like `3.day.ago`.
         | 
| 967 | 
            -
              Enabled: true
         | 
| 968 | 
            -
             | 
| 969 | 
            -
            Rails/Present:
         | 
| 970 | 
            -
              Description: Enforce using `blank?` and `present?`.
         | 
| 971 | 
            -
              Enabled: true
         | 
| 972 | 
            -
              NotNilAndNotEmpty: true
         | 
| 973 | 
            -
              NotBlank: true
         | 
| 974 | 
            -
              UnlessBlank: true
         | 
| 975 | 
            -
             | 
| 976 | 
            -
            Rails/ReadWriteAttribute:
         | 
| 977 | 
            -
              Description: Checks for read_attribute(:attr) and write_attribute(:attr, val).
         | 
| 978 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#read-attribute
         | 
| 979 | 
            -
              Enabled: false
         | 
| 980 | 
            -
             | 
| 981 | 
            -
            Rails/RelativeDateConstant:
         | 
| 982 | 
            -
              Description: Do not assign relative date to constants.
         | 
| 983 | 
            -
              Enabled: true
         | 
| 984 | 
            -
             | 
| 985 | 
            -
            Rails/RequestReferer:
         | 
| 986 | 
            -
              Description: Use consistent syntax for request.referer.
         | 
| 987 | 
            -
              Enabled: true
         | 
| 988 | 
            -
             | 
| 989 | 
            -
            Rails/ReversibleMigration:
         | 
| 990 | 
            -
              Description: Checks whether the change method of the migration file is reversible.
         | 
| 991 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#reversible-migration
         | 
| 992 | 
            -
              Reference: http://api.rubyonrails.org/classes/ActiveRecord/Migration/CommandRecorder.html
         | 
| 993 | 
            -
              Enabled: true
         | 
| 994 | 
            -
             | 
| 995 | 
            -
            Rails/SafeNavigation:
         | 
| 996 | 
            -
              Description: Use Ruby's safe navigation operator (`&.`) instead of `try!`
         | 
| 997 | 
            -
              Enabled: true
         | 
| 998 | 
            -
             | 
| 999 | 
            -
            Rails/SaveBang:
         | 
| 1000 | 
            -
              Description: Identifies possible cases where Active Record save! or related should be used.
         | 
| 1001 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#save-bang
         | 
| 1002 | 
            -
              Enabled: false
         | 
| 1003 | 
            -
             | 
| 1004 | 
            -
            Rails/ScopeArgs:
         | 
| 1005 | 
            -
              Description: Checks the arguments of ActiveRecord scopes.
         | 
| 1006 | 
            -
              Enabled: true
         | 
| 1007 | 
            -
             | 
| 1008 | 
            -
            Rails/TimeZone:
         | 
| 1009 | 
            -
              Description: Checks the correct usage of time zone aware methods.
         | 
| 1010 | 
            -
              StyleGuide: https://github.com/bbatsov/rails-style-guide#time
         | 
| 1011 | 
            -
              Reference: http://danilenko.org/2012/7/6/rails_timezones
         | 
| 1012 | 
            -
              Enabled: true
         | 
| 1013 | 
            -
             | 
| 1014 | 
            -
            Rails/UniqBeforePluck:
         | 
| 1015 | 
            -
              Description: Prefer the use of uniq or distinct before pluck.
         | 
| 1016 | 
            -
              Enabled: true
         | 
| 1017 | 
            -
             | 
| 1018 | 
            -
            Rails/UnknownEnv:
         | 
| 1019 | 
            -
              Description: Use correct environment name.
         | 
| 1020 | 
            -
              Enabled: true
         | 
| 1021 | 
            -
             | 
| 1022 | 
            -
            Rails/SkipsModelValidations:
         | 
| 1023 | 
            -
              Description: Use methods that skips model validations with caution. See reference for more information.
         | 
| 1024 | 
            -
              Reference: http://guides.rubyonrails.org/active_record_validations.html#skipping-validations
         | 
| 1025 | 
            -
              Enabled: true
         | 
| 1026 | 
            -
             | 
| 1027 | 
            -
            Rails/Validation:
         | 
| 1028 | 
            -
              Description: Use validates :attribute, hash of validations.
         | 
| 1029 | 
            -
              Enabled: true
         | 
| 1030 | 
            -
             | 
| 1031 882 | 
             
            # Department Security
         | 
| 1032 883 | 
             
            Security/Eval:
         | 
| 1033 884 | 
             
              Description: The use of eval represents a serious security risk.
         | 
| @@ -1102,10 +953,6 @@ Style/BlockDelimiters: | |
| 1102 953 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#single-line-blocks
         | 
| 1103 954 | 
             
              Enabled: true
         | 
| 1104 955 |  | 
| 1105 | 
            -
            Style/BracesAroundHashParameters:
         | 
| 1106 | 
            -
              Description: Enforce braces style around hash parameters.
         | 
| 1107 | 
            -
              Enabled: false
         | 
| 1108 | 
            -
             | 
| 1109 956 | 
             
            Style/CaseEquality:
         | 
| 1110 957 | 
             
              Description: Avoid explicit use of the case equality operator(===).
         | 
| 1111 958 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-case-equality
         | 
| @@ -1229,7 +1076,7 @@ Style/EmptyMethod: | |
| 1229 1076 | 
             
            Style/EndBlock:
         | 
| 1230 1077 | 
             
              Description: Avoid the use of END blocks.
         | 
| 1231 1078 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-END-blocks
         | 
| 1232 | 
            -
              Enabled:  | 
| 1079 | 
            +
              Enabled: true
         | 
| 1233 1080 |  | 
| 1234 1081 | 
             
            Style/Encoding:
         | 
| 1235 1082 | 
             
              Description: Use UTF-8 as the source file encoding.
         | 
| @@ -1353,9 +1200,6 @@ Style/MethodDefParentheses: | |
| 1353 1200 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#method-parens
         | 
| 1354 1201 | 
             
              Enabled: true
         | 
| 1355 1202 |  | 
| 1356 | 
            -
            Style/MethodMissingSuper:
         | 
| 1357 | 
            -
              Enabled: true
         | 
| 1358 | 
            -
             | 
| 1359 1203 | 
             
            Style/MissingRespondToMissing:
         | 
| 1360 1204 | 
             
              Enabled: true
         | 
| 1361 1205 |  | 
| @@ -1412,7 +1256,7 @@ Style/MultipleComparison: | |
| 1412 1256 |  | 
| 1413 1257 | 
             
            Style/MutableConstant:
         | 
| 1414 1258 | 
             
              Description: Do not assign mutable objects to constants.
         | 
| 1415 | 
            -
              Enabled:  | 
| 1259 | 
            +
              Enabled: false
         | 
| 1416 1260 |  | 
| 1417 1261 | 
             
            Style/NegatedIf:
         | 
| 1418 1262 | 
             
              Description: Favor unless over if for negative conditions (or control flow or).
         | 
| @@ -1703,15 +1547,15 @@ Style/UnlessElse: | |
| 1703 1547 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#no-else-with-unless
         | 
| 1704 1548 | 
             
              Enabled: true
         | 
| 1705 1549 |  | 
| 1706 | 
            -
            Style/ | 
| 1550 | 
            +
            Style/RedundantCapitalW:
         | 
| 1707 1551 | 
             
              Description: Checks for %W when interpolation is not needed.
         | 
| 1708 1552 | 
             
              Enabled: false
         | 
| 1709 1553 |  | 
| 1710 | 
            -
            Style/ | 
| 1554 | 
            +
            Style/RedundantInterpolation:
         | 
| 1711 1555 | 
             
              Description: Checks for strings that are just an interpolated expression.
         | 
| 1712 1556 | 
             
              Enabled: true
         | 
| 1713 1557 |  | 
| 1714 | 
            -
            Style/ | 
| 1558 | 
            +
            Style/RedundantPercentQ:
         | 
| 1715 1559 | 
             
              Description: Checks for %q/%Q when single quotes or double quotes would do.
         | 
| 1716 1560 | 
             
              StyleGuide: https://github.com/bbatsov/ruby-style-guide#percent-q
         | 
| 1717 1561 | 
             
              Enabled: false
         | 
| @@ -1754,3 +1598,102 @@ Style/YodaCondition: | |
| 1754 1598 | 
             
            Style/ZeroLengthPredicate:
         | 
| 1755 1599 | 
             
              Description: Use #empty? when testing for objects of length 0.
         | 
| 1756 1600 | 
             
              Enabled: true
         | 
| 1601 | 
            +
             | 
| 1602 | 
            +
            Lint/RaiseException:
         | 
| 1603 | 
            +
              Description: Checks for `raise` or `fail` statements which are raising `Exception` class.
         | 
| 1604 | 
            +
              Enabled: true
         | 
| 1605 | 
            +
            Lint/StructNewOverride:
         | 
| 1606 | 
            +
              Description: 'Disallow overriding the `Struct` built-in methods via `Struct.new`.'
         | 
| 1607 | 
            +
              Enabled: true
         | 
| 1608 | 
            +
            Style/HashEachMethods:
         | 
| 1609 | 
            +
              Description: 'Use Hash#each_key and Hash#each_value.'
         | 
| 1610 | 
            +
              Enabled: true
         | 
| 1611 | 
            +
              Safe: false
         | 
| 1612 | 
            +
            Style/HashTransformKeys:
         | 
| 1613 | 
            +
              Description: 'Prefer `transform_keys` over `each_with_object` and `map`.'
         | 
| 1614 | 
            +
              Enabled: true
         | 
| 1615 | 
            +
              Safe: false
         | 
| 1616 | 
            +
            Style/HashTransformValues:
         | 
| 1617 | 
            +
              Description: 'Prefer `transform_values` over `each_with_object` and `map`.'
         | 
| 1618 | 
            +
              Enabled: true
         | 
| 1619 | 
            +
              Safe: false
         | 
| 1620 | 
            +
             | 
| 1621 | 
            +
            Layout/EmptyLinesAroundAttributeAccessor:
         | 
| 1622 | 
            +
              Enabled: true
         | 
| 1623 | 
            +
            Lint/DeprecatedOpenSSLConstant:
         | 
| 1624 | 
            +
              Enabled: true
         | 
| 1625 | 
            +
            Style/SlicingWithRange:
         | 
| 1626 | 
            +
              Enabled: true
         | 
| 1627 | 
            +
            Lint/MixedRegexpCaptureTypes:
         | 
| 1628 | 
            +
              Enabled: true
         | 
| 1629 | 
            +
            Style/RedundantRegexpCharacterClass:
         | 
| 1630 | 
            +
              Enabled: true
         | 
| 1631 | 
            +
            Style/RedundantRegexpEscape:
         | 
| 1632 | 
            +
              Enabled: true
         | 
| 1633 | 
            +
            Lint/MissingSuper:
         | 
| 1634 | 
            +
              Enabled: false
         | 
| 1635 | 
            +
             | 
| 1636 | 
            +
             | 
| 1637 | 
            +
             | 
| 1638 | 
            +
            Lint/DuplicateElsifCondition:
         | 
| 1639 | 
            +
              Enabled: true
         | 
| 1640 | 
            +
            Lint/DuplicateRescueException:
         | 
| 1641 | 
            +
              Enabled: true
         | 
| 1642 | 
            +
            Lint/EmptyConditionalBody:
         | 
| 1643 | 
            +
              Enabled: true
         | 
| 1644 | 
            +
            Lint/FloatComparison:
         | 
| 1645 | 
            +
              Enabled: true
         | 
| 1646 | 
            +
            Lint/OutOfRangeRegexpRef:
         | 
| 1647 | 
            +
              Enabled: true
         | 
| 1648 | 
            +
            Lint/SelfAssignment:
         | 
| 1649 | 
            +
              Enabled: true
         | 
| 1650 | 
            +
            Lint/TopLevelReturnWithArgument:
         | 
| 1651 | 
            +
              Enabled: true
         | 
| 1652 | 
            +
            Lint/UnreachableLoop:
         | 
| 1653 | 
            +
              Enabled: true
         | 
| 1654 | 
            +
            Style/AccessorGrouping:
         | 
| 1655 | 
            +
              Enabled: true
         | 
| 1656 | 
            +
            Style/ArrayCoercion:
         | 
| 1657 | 
            +
              Enabled: true
         | 
| 1658 | 
            +
            Style/BisectedAttrAccessor:
         | 
| 1659 | 
            +
              Enabled: true
         | 
| 1660 | 
            +
            Style/CaseLikeIf:
         | 
| 1661 | 
            +
              Enabled: true
         | 
| 1662 | 
            +
            Style/ExplicitBlockArgument:
         | 
| 1663 | 
            +
              Enabled: false
         | 
| 1664 | 
            +
            Style/GlobalStdStream:
         | 
| 1665 | 
            +
              Enabled: true
         | 
| 1666 | 
            +
            Style/HashAsLastArrayItem:
         | 
| 1667 | 
            +
              Enabled: false
         | 
| 1668 | 
            +
            Style/HashLikeCase:
         | 
| 1669 | 
            +
              Enabled: true
         | 
| 1670 | 
            +
            Style/OptionalBooleanParameter:
         | 
| 1671 | 
            +
              Enabled: true
         | 
| 1672 | 
            +
            Style/RedundantAssignment:
         | 
| 1673 | 
            +
              Enabled: true
         | 
| 1674 | 
            +
            Style/RedundantFetchBlock:
         | 
| 1675 | 
            +
              Enabled: true
         | 
| 1676 | 
            +
            Style/RedundantFileExtensionInRequire:
         | 
| 1677 | 
            +
              Enabled: true
         | 
| 1678 | 
            +
            Style/SingleArgumentDig:
         | 
| 1679 | 
            +
              Enabled: true
         | 
| 1680 | 
            +
            Style/StringConcatenation:
         | 
| 1681 | 
            +
              Enabled: true
         | 
| 1682 | 
            +
            Performance/AncestorsInclude:
         | 
| 1683 | 
            +
              Enabled: true
         | 
| 1684 | 
            +
            Performance/BigDecimalWithNumericArgument:
         | 
| 1685 | 
            +
              Enabled: true
         | 
| 1686 | 
            +
            Performance/RedundantSortBlock:
         | 
| 1687 | 
            +
              Enabled: true
         | 
| 1688 | 
            +
            Performance/RedundantStringChars:
         | 
| 1689 | 
            +
              Enabled: true
         | 
| 1690 | 
            +
            Performance/ReverseFirst:
         | 
| 1691 | 
            +
              Enabled: true
         | 
| 1692 | 
            +
            Performance/SortReverse:
         | 
| 1693 | 
            +
              Enabled: true
         | 
| 1694 | 
            +
            Performance/Squeeze:
         | 
| 1695 | 
            +
              Enabled: true
         | 
| 1696 | 
            +
            Performance/StringInclude:
         | 
| 1697 | 
            +
              Enabled: true
         | 
| 1698 | 
            +
            Minitest/AssertionInLifecycleHook:
         | 
| 1699 | 
            +
              Enabled: false
         |