mutant 0.9.9 → 0.9.10
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/ci.yml +5 -5
- data/.rubocop.yml +203 -0
- data/Changelog.md +6 -0
- data/Gemfile.lock +23 -83
- data/README.md +25 -4
- data/lib/mutant.rb +0 -2
- data/lib/mutant/mutator/node/literal/range.rb +1 -1
- data/lib/mutant/reporter/cli/printer.rb +2 -2
- data/lib/mutant/reporter/cli/printer/mutation_result.rb +1 -1
- data/lib/mutant/subject/method/instance.rb +41 -2
- data/lib/mutant/version.rb +1 -1
- data/meta/range.rb +26 -0
- data/mutant.gemspec +7 -4
- data/spec/spec_helper.rb +37 -22
- data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +1 -1
- data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +2 -2
- data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +12 -12
- data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +1 -1
- data/spec/unit/mutant/reporter/cli/printer_spec.rb +4 -4
- data/spec/unit/mutant/reporter/cli_spec.rb +1 -1
- data/spec/unit/mutant/subject/method/instance_spec.rb +117 -22
- data/test_app/Gemfile.minitest +2 -0
- data/test_app/lib/test_app.rb +4 -0
- metadata +55 -21
- data/config/rubocop.yml +0 -205
- data/lib/mutant/color.rb +0 -40
- data/lib/mutant/diff.rb +0 -97
- data/spec/shared/base_behavior.rb +0 -45
- data/spec/support/test_app.rb +0 -7
- data/spec/support/warnings.yml +0 -6
- data/spec/unit/mutant/diff_spec.rb +0 -189
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 45484c558fad8e5115eb2b4c45712b762eb1d13f12fe7e7a29d9ec0696a16e24
         | 
| 4 | 
            +
              data.tar.gz: 5354afd8cf7491687dfef3af68157e37cc549a0190d09bb8755c8bcf33d24051
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 1546be8318d6135d2834120bcc3052b879d6568560a9ec5dd056448a46cdd240fede609a4336fb5e64937526aa2db64627285c70dc45b09aa0175d6abc471749
         | 
| 7 | 
            +
              data.tar.gz: b8705cb2eb82b286d77ea87a17af903661747cfad61d3e51fcc70b1f906bcf47b07e33305810f1d59cc4f3d2e802b5eae20e0ce4ecf37b686c2fd73e1bc41933
         | 
    
        data/.github/workflows/ci.yml
    CHANGED
    
    | @@ -17,7 +17,7 @@ jobs: | |
| 17 17 | 
             
                strategy:
         | 
| 18 18 | 
             
                  fail-fast: false
         | 
| 19 19 | 
             
                  matrix:
         | 
| 20 | 
            -
                    ruby: ['2.6', '2.7']
         | 
| 20 | 
            +
                    ruby: ['2.5', '2.6', '2.7']
         | 
| 21 21 | 
             
                    os: [ubuntu-latest]
         | 
| 22 22 | 
             
                steps:
         | 
| 23 23 | 
             
                - uses: actions/checkout@v2
         | 
| @@ -55,7 +55,7 @@ jobs: | |
| 55 55 | 
             
                strategy:
         | 
| 56 56 | 
             
                  fail-fast: false
         | 
| 57 57 | 
             
                  matrix:
         | 
| 58 | 
            -
                    ruby: ['2.6', '2.7']
         | 
| 58 | 
            +
                    ruby: ['2.5', '2.6', '2.7']
         | 
| 59 59 | 
             
                    os: [ubuntu-latest]
         | 
| 60 60 | 
             
                steps:
         | 
| 61 61 | 
             
                - uses: actions/checkout@v2
         | 
| @@ -74,7 +74,7 @@ jobs: | |
| 74 74 | 
             
                strategy:
         | 
| 75 75 | 
             
                  fail-fast: false
         | 
| 76 76 | 
             
                  matrix:
         | 
| 77 | 
            -
                    ruby: ['2.6', '2.7']
         | 
| 77 | 
            +
                    ruby: ['2.5', '2.6', '2.7']
         | 
| 78 78 | 
             
                    os: [ubuntu-latest]
         | 
| 79 79 | 
             
                steps:
         | 
| 80 80 | 
             
                - uses: actions/checkout@v2
         | 
| @@ -92,7 +92,7 @@ jobs: | |
| 92 92 | 
             
                strategy:
         | 
| 93 93 | 
             
                  fail-fast: false
         | 
| 94 94 | 
             
                  matrix:
         | 
| 95 | 
            -
                    ruby: ['2.6', '2.7']
         | 
| 95 | 
            +
                    ruby: ['2.5', '2.6', '2.7']
         | 
| 96 96 | 
             
                    os: [ubuntu-latest]
         | 
| 97 97 | 
             
                steps:
         | 
| 98 98 | 
             
                - uses: actions/checkout@v2
         | 
| @@ -118,4 +118,4 @@ jobs: | |
| 118 118 | 
             
                  with:
         | 
| 119 119 | 
             
                    ruby-version: ${{ matrix.ruby }}
         | 
| 120 120 | 
             
                - run: bundle install
         | 
| 121 | 
            -
                - run: bundle exec  | 
| 121 | 
            +
                - run: bundle exec rubocop
         | 
    
        data/.rubocop.yml
    CHANGED
    
    | @@ -5,3 +5,206 @@ AllCops: | |
| 5 5 | 
             
                - 'tmp/**/*'
         | 
| 6 6 | 
             
                - 'vendor/**/*'
         | 
| 7 7 | 
             
              TargetRubyVersion: 2.5
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            # Avoid parameter lists longer than five parameters.
         | 
| 10 | 
            +
            ParameterLists:
         | 
| 11 | 
            +
              Max: 3
         | 
| 12 | 
            +
              CountKeywordArgs: true
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            # Avoid more than `Max` levels of nesting.
         | 
| 15 | 
            +
            BlockNesting:
         | 
| 16 | 
            +
              Max: 3
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            # Align with the style guide.
         | 
| 19 | 
            +
            CollectionMethods:
         | 
| 20 | 
            +
              Enabled: true
         | 
| 21 | 
            +
              PreferredMethods:
         | 
| 22 | 
            +
                collect:  'map'
         | 
| 23 | 
            +
                inject:   'reduce'
         | 
| 24 | 
            +
                find:     'detect'
         | 
| 25 | 
            +
                find_all: 'select'
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            AccessModifierIndentation:
         | 
| 28 | 
            +
              Enabled: false
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            # Limit line length
         | 
| 31 | 
            +
            LineLength:
         | 
| 32 | 
            +
              Max: 120
         | 
| 33 | 
            +
             | 
| 34 | 
            +
            # Disable documentation checking until a class needs to be documented once
         | 
| 35 | 
            +
            Documentation:
         | 
| 36 | 
            +
              Enabled: false
         | 
| 37 | 
            +
             | 
| 38 | 
            +
            # Permit
         | 
| 39 | 
            +
            #
         | 
| 40 | 
            +
            #     boolean_check? or fail
         | 
| 41 | 
            +
            #
         | 
| 42 | 
            +
            # Reject
         | 
| 43 | 
            +
            #
         | 
| 44 | 
            +
            #     if foo or bar
         | 
| 45 | 
            +
            #       ...
         | 
| 46 | 
            +
            #     end
         | 
| 47 | 
            +
            AndOr:
         | 
| 48 | 
            +
              EnforcedStyle: conditionals
         | 
| 49 | 
            +
             | 
| 50 | 
            +
            # Do not favor modifier if/unless usage when you have a single-line body
         | 
| 51 | 
            +
            IfUnlessModifier:
         | 
| 52 | 
            +
              Enabled: false
         | 
| 53 | 
            +
             | 
| 54 | 
            +
            # Allow case equality operator (in limited use within the specs)
         | 
| 55 | 
            +
            CaseEquality:
         | 
| 56 | 
            +
              Enabled: false
         | 
| 57 | 
            +
             | 
| 58 | 
            +
            # Constants do not always have to use SCREAMING_SNAKE_CASE
         | 
| 59 | 
            +
            ConstantName:
         | 
| 60 | 
            +
              Enabled: false
         | 
| 61 | 
            +
             | 
| 62 | 
            +
            # Not all trivial readers/writers can be defined with attr_* methods
         | 
| 63 | 
            +
            TrivialAccessors:
         | 
| 64 | 
            +
              Enabled: false
         | 
| 65 | 
            +
             | 
| 66 | 
            +
            # Allow empty lines around class body
         | 
| 67 | 
            +
            EmptyLinesAroundClassBody:
         | 
| 68 | 
            +
              Enabled: false
         | 
| 69 | 
            +
             | 
| 70 | 
            +
            # Allow empty lines around module body
         | 
| 71 | 
            +
            EmptyLinesAroundModuleBody:
         | 
| 72 | 
            +
              Enabled: false
         | 
| 73 | 
            +
             | 
| 74 | 
            +
            # Allow empty lines around block body
         | 
| 75 | 
            +
            EmptyLinesAroundBlockBody:
         | 
| 76 | 
            +
              Enabled: false
         | 
| 77 | 
            +
             | 
| 78 | 
            +
            # Allow multiple line operations to not require indentation
         | 
| 79 | 
            +
            MultilineOperationIndentation:
         | 
| 80 | 
            +
              Enabled: false
         | 
| 81 | 
            +
             | 
| 82 | 
            +
            # Prefer String#% over Kernel#sprintf
         | 
| 83 | 
            +
            FormatString:
         | 
| 84 | 
            +
              EnforcedStyle: percent
         | 
| 85 | 
            +
             | 
| 86 | 
            +
            # Use square brackets for literal Array objects
         | 
| 87 | 
            +
            PercentLiteralDelimiters:
         | 
| 88 | 
            +
              PreferredDelimiters:
         | 
| 89 | 
            +
                '%':  '{}'
         | 
| 90 | 
            +
                '%i': '[]'
         | 
| 91 | 
            +
                '%q': ()
         | 
| 92 | 
            +
                '%Q': ()
         | 
| 93 | 
            +
                '%r': '{}'
         | 
| 94 | 
            +
                '%s': ()
         | 
| 95 | 
            +
                '%w': '[]'
         | 
| 96 | 
            +
                '%W': '[]'
         | 
| 97 | 
            +
                '%x': ()
         | 
| 98 | 
            +
             | 
| 99 | 
            +
            # Use %i[...] for arrays of symbols
         | 
| 100 | 
            +
            SymbolArray:
         | 
| 101 | 
            +
              Enabled: true
         | 
| 102 | 
            +
             | 
| 103 | 
            +
            # Prefer #kind_of? over #is_a?
         | 
| 104 | 
            +
            ClassCheck:
         | 
| 105 | 
            +
              EnforcedStyle: kind_of?
         | 
| 106 | 
            +
             | 
| 107 | 
            +
            # Do not prefer double quotes to be used when %q or %Q is more appropriate
         | 
| 108 | 
            +
            Style/RedundantPercentQ:
         | 
| 109 | 
            +
              Enabled: false
         | 
| 110 | 
            +
             | 
| 111 | 
            +
            # Allow a maximum ABC score
         | 
| 112 | 
            +
            Metrics/AbcSize:
         | 
| 113 | 
            +
              Max: 21.02
         | 
| 114 | 
            +
             | 
| 115 | 
            +
            Metrics/BlockLength:
         | 
| 116 | 
            +
              Exclude:
         | 
| 117 | 
            +
              - 'spec/**/*.rb'
         | 
| 118 | 
            +
              - 'mutant.gemspec'
         | 
| 119 | 
            +
             | 
| 120 | 
            +
            # Buggy cop, returns false positive for our code base
         | 
| 121 | 
            +
            NonLocalExitFromIterator:
         | 
| 122 | 
            +
              Enabled: false
         | 
| 123 | 
            +
             | 
| 124 | 
            +
            # To allow alignment of similar expressions we want to allow more than one
         | 
| 125 | 
            +
            # space around operators:
         | 
| 126 | 
            +
            #
         | 
| 127 | 
            +
            # let(:a) { bar    + something }
         | 
| 128 | 
            +
            # let(:b) { foobar + something }
         | 
| 129 | 
            +
            #
         | 
| 130 | 
            +
            SpaceAroundOperators:
         | 
| 131 | 
            +
              Enabled: false
         | 
| 132 | 
            +
             | 
| 133 | 
            +
            # We use parallel assignments with great success
         | 
| 134 | 
            +
            ParallelAssignment:
         | 
| 135 | 
            +
              Enabled: false
         | 
| 136 | 
            +
             | 
| 137 | 
            +
            # Allow additional specs
         | 
| 138 | 
            +
            ExtraSpacing:
         | 
| 139 | 
            +
              AllowForAlignment: true
         | 
| 140 | 
            +
             | 
| 141 | 
            +
            # Buggy
         | 
| 142 | 
            +
            FormatParameterMismatch:
         | 
| 143 | 
            +
              Enabled: false
         | 
| 144 | 
            +
             | 
| 145 | 
            +
            # Different preference
         | 
| 146 | 
            +
            SignalException:
         | 
| 147 | 
            +
              EnforcedStyle: semantic
         | 
| 148 | 
            +
             | 
| 149 | 
            +
            # Do not use `alias`
         | 
| 150 | 
            +
            Alias:
         | 
| 151 | 
            +
              EnforcedStyle: prefer_alias_method
         | 
| 152 | 
            +
             | 
| 153 | 
            +
            # Do not waste my horizontal or vertical space
         | 
| 154 | 
            +
            Layout/FirstArrayElementIndentation:
         | 
| 155 | 
            +
              Enabled: false
         | 
| 156 | 
            +
             | 
| 157 | 
            +
            # Prefer
         | 
| 158 | 
            +
            #
         | 
| 159 | 
            +
            #     some_receiver
         | 
| 160 | 
            +
            #       .foo
         | 
| 161 | 
            +
            #       .bar
         | 
| 162 | 
            +
            #       .baz
         | 
| 163 | 
            +
            #
         | 
| 164 | 
            +
            # Over
         | 
| 165 | 
            +
            #
         | 
| 166 | 
            +
            #     some_receiver.foo
         | 
| 167 | 
            +
            #                  .bar
         | 
| 168 | 
            +
            #                  .baz
         | 
| 169 | 
            +
            MultilineMethodCallIndentation:
         | 
| 170 | 
            +
              EnforcedStyle: indented
         | 
| 171 | 
            +
             | 
| 172 | 
            +
            # Prefer `public_send` and `__send__` over `send`
         | 
| 173 | 
            +
            Send:
         | 
| 174 | 
            +
              Enabled: true
         | 
| 175 | 
            +
             | 
| 176 | 
            +
            Layout/HashAlignment:
         | 
| 177 | 
            +
              EnforcedColonStyle: table
         | 
| 178 | 
            +
              EnforcedHashRocketStyle: table
         | 
| 179 | 
            +
            Layout/EmptyLineAfterGuardClause:
         | 
| 180 | 
            +
              Enabled: false
         | 
| 181 | 
            +
            Layout/SpaceInsideArrayLiteralBrackets:
         | 
| 182 | 
            +
              Enabled: false
         | 
| 183 | 
            +
            Lint/BooleanSymbol:
         | 
| 184 | 
            +
              Enabled: false
         | 
| 185 | 
            +
            Lint/InterpolationCheck:
         | 
| 186 | 
            +
              Enabled: false
         | 
| 187 | 
            +
            Lint/MissingCopEnableDirective:
         | 
| 188 | 
            +
              Enabled: false
         | 
| 189 | 
            +
            Lint/UnifiedInteger:
         | 
| 190 | 
            +
              Enabled: false
         | 
| 191 | 
            +
            Naming/FileName:
         | 
| 192 | 
            +
              Enabled: false
         | 
| 193 | 
            +
            Style/AccessModifierDeclarations:
         | 
| 194 | 
            +
              Enabled: false
         | 
| 195 | 
            +
            Style/CommentedKeyword:
         | 
| 196 | 
            +
              Enabled: false
         | 
| 197 | 
            +
            Style/MixinGrouping:
         | 
| 198 | 
            +
              Enabled: false
         | 
| 199 | 
            +
            Style/RaiseArgs:
         | 
| 200 | 
            +
              Enabled: false
         | 
| 201 | 
            +
            Style/RescueStandardError:
         | 
| 202 | 
            +
              Enabled: false
         | 
| 203 | 
            +
            Style/StderrPuts:
         | 
| 204 | 
            +
              Enabled: false
         | 
| 205 | 
            +
            # suggesting single letter variablesl bah
         | 
| 206 | 
            +
            Naming/RescuedExceptionsVariableName:
         | 
| 207 | 
            +
              Enabled: false
         | 
| 208 | 
            +
            # false positive on private keywords
         | 
| 209 | 
            +
            Layout/IndentationWidth:
         | 
| 210 | 
            +
              Enabled: false
         | 
    
        data/Changelog.md
    CHANGED
    
    | @@ -1,3 +1,9 @@ | |
| 1 | 
            +
            # v0.9.10 unreleased
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * Remove bounds to allow `diff-lcs 1.4.x` [#1032](https://github.com/mbj/mutant/pull/1032).
         | 
| 4 | 
            +
            * Fix crash on endless ranges [#1026](https://github.com/mbj/mutant/pull/1026).
         | 
| 5 | 
            +
            * Fix memoized subjects to preserve freezer option [#973](https://github.com/mbj/mutant/pull/973).
         | 
| 6 | 
            +
             | 
| 1 7 | 
             
            # v0.9.9 2020-09-25
         | 
| 2 8 |  | 
| 3 9 | 
             
            + Add support for mutating methods inside eigenclasses `class <<`. [#1009](https://github.com/mbj/mutant/pull/1009)
         | 
    
        data/Gemfile.lock
    CHANGED
    
    | @@ -1,20 +1,20 @@ | |
| 1 1 | 
             
            PATH
         | 
| 2 2 | 
             
              remote: .
         | 
| 3 3 | 
             
              specs:
         | 
| 4 | 
            -
                mutant (0.9. | 
| 4 | 
            +
                mutant (0.9.10)
         | 
| 5 5 | 
             
                  abstract_type (~> 0.0.7)
         | 
| 6 6 | 
             
                  adamantium (~> 0.2.0)
         | 
| 7 7 | 
             
                  anima (~> 0.3.1)
         | 
| 8 8 | 
             
                  ast (~> 2.2)
         | 
| 9 9 | 
             
                  concord (~> 0.1.5)
         | 
| 10 | 
            -
                  diff-lcs ( | 
| 10 | 
            +
                  diff-lcs (~> 1.3)
         | 
| 11 11 | 
             
                  equalizer (~> 0.0.9)
         | 
| 12 12 | 
             
                  ice_nine (~> 0.11.1)
         | 
| 13 13 | 
             
                  memoizable (~> 0.4.2)
         | 
| 14 14 | 
             
                  mprelude (~> 0.1.0)
         | 
| 15 15 | 
             
                  parser (~> 2.7.1)
         | 
| 16 16 | 
             
                  procto (~> 0.0.2)
         | 
| 17 | 
            -
                  unparser (~> 0.4. | 
| 17 | 
            +
                  unparser (~> 0.4.8)
         | 
| 18 18 | 
             
                  variable (~> 0.0.1)
         | 
| 19 19 |  | 
| 20 20 | 
             
            GEM
         | 
| @@ -30,53 +30,13 @@ GEM | |
| 30 30 | 
             
                  adamantium (~> 0.2)
         | 
| 31 31 | 
             
                  equalizer (~> 0.0.11)
         | 
| 32 32 | 
             
                ast (2.4.1)
         | 
| 33 | 
            -
                axiom-types (0.1.1)
         | 
| 34 | 
            -
                  descendants_tracker (~> 0.0.4)
         | 
| 35 | 
            -
                  ice_nine (~> 0.11.0)
         | 
| 36 | 
            -
                  thread_safe (~> 0.3, >= 0.3.1)
         | 
| 37 | 
            -
                codeclimate-engine-rb (0.4.1)
         | 
| 38 | 
            -
                  virtus (~> 1.0)
         | 
| 39 | 
            -
                coercible (1.0.0)
         | 
| 40 | 
            -
                  descendants_tracker (~> 0.0.1)
         | 
| 41 33 | 
             
                concord (0.1.5)
         | 
| 42 34 | 
             
                  adamantium (~> 0.2.0)
         | 
| 43 35 | 
             
                  equalizer (~> 0.0.9)
         | 
| 44 | 
            -
                 | 
| 45 | 
            -
                  thread_safe (~> 0.3, >= 0.3.1)
         | 
| 46 | 
            -
                devtools (0.1.26)
         | 
| 47 | 
            -
                  abstract_type (~> 0.0.7)
         | 
| 48 | 
            -
                  adamantium (~> 0.2.0)
         | 
| 49 | 
            -
                  anima (~> 0.3.0)
         | 
| 50 | 
            -
                  concord (~> 0.1.5)
         | 
| 51 | 
            -
                  flay (~> 2.12.0)
         | 
| 52 | 
            -
                  flog (~> 4.6.2)
         | 
| 53 | 
            -
                  procto (~> 0.0.3)
         | 
| 54 | 
            -
                  rake (~> 12.3.0)
         | 
| 55 | 
            -
                  reek (~> 5.6.0)
         | 
| 56 | 
            -
                  rspec (~> 3.8.0)
         | 
| 57 | 
            -
                  rspec-core (~> 3.8.0)
         | 
| 58 | 
            -
                  rspec-its (~> 1.2.0)
         | 
| 59 | 
            -
                  rubocop (~> 0.79.0)
         | 
| 60 | 
            -
                  simplecov (~> 0.16.1)
         | 
| 61 | 
            -
                  yard (~> 0.9.16)
         | 
| 62 | 
            -
                  yardstick (~> 0.9.9)
         | 
| 63 | 
            -
                diff-lcs (1.3)
         | 
| 64 | 
            -
                docile (1.3.2)
         | 
| 36 | 
            +
                diff-lcs (1.4.4)
         | 
| 65 37 | 
             
                equalizer (0.0.11)
         | 
| 66 | 
            -
                erubis (2.7.0)
         | 
| 67 | 
            -
                flay (2.12.1)
         | 
| 68 | 
            -
                  erubis (~> 2.7.0)
         | 
| 69 | 
            -
                  path_expander (~> 1.0)
         | 
| 70 | 
            -
                  ruby_parser (~> 3.0)
         | 
| 71 | 
            -
                  sexp_processor (~> 4.0)
         | 
| 72 | 
            -
                flog (4.6.4)
         | 
| 73 | 
            -
                  path_expander (~> 1.0)
         | 
| 74 | 
            -
                  ruby_parser (~> 3.1, > 3.1.0)
         | 
| 75 | 
            -
                  sexp_processor (~> 4.8)
         | 
| 76 38 | 
             
                ice_nine (0.11.2)
         | 
| 77 39 | 
             
                jaro_winkler (1.5.4)
         | 
| 78 | 
            -
                json (2.3.1)
         | 
| 79 | 
            -
                kwalify (0.7.2)
         | 
| 80 40 | 
             
                memoizable (0.4.2)
         | 
| 81 41 | 
             
                  thread_safe (~> 0.3, >= 0.3.1)
         | 
| 82 42 | 
             
                mprelude (0.1.0)
         | 
| @@ -90,33 +50,24 @@ GEM | |
| 90 50 | 
             
                parallel (1.19.2)
         | 
| 91 51 | 
             
                parser (2.7.1.4)
         | 
| 92 52 | 
             
                  ast (~> 2.4.1)
         | 
| 93 | 
            -
                path_expander (1.1.0)
         | 
| 94 53 | 
             
                procto (0.0.3)
         | 
| 95 | 
            -
                psych (3.1.0)
         | 
| 96 54 | 
             
                rainbow (3.0.0)
         | 
| 97 | 
            -
                 | 
| 98 | 
            -
             | 
| 99 | 
            -
                   | 
| 100 | 
            -
                   | 
| 101 | 
            -
             | 
| 102 | 
            -
                   | 
| 103 | 
            -
             | 
| 104 | 
            -
                rspec (3.8.0)
         | 
| 105 | 
            -
                  rspec-core (~> 3.8.0)
         | 
| 106 | 
            -
                  rspec-expectations (~> 3.8.0)
         | 
| 107 | 
            -
                  rspec-mocks (~> 3.8.0)
         | 
| 108 | 
            -
                rspec-core (3.8.2)
         | 
| 109 | 
            -
                  rspec-support (~> 3.8.0)
         | 
| 110 | 
            -
                rspec-expectations (3.8.6)
         | 
| 55 | 
            +
                rspec (3.9.0)
         | 
| 56 | 
            +
                  rspec-core (~> 3.9.0)
         | 
| 57 | 
            +
                  rspec-expectations (~> 3.9.0)
         | 
| 58 | 
            +
                  rspec-mocks (~> 3.9.0)
         | 
| 59 | 
            +
                rspec-core (3.9.2)
         | 
| 60 | 
            +
                  rspec-support (~> 3.9.3)
         | 
| 61 | 
            +
                rspec-expectations (3.9.2)
         | 
| 111 62 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 112 | 
            -
                  rspec-support (~> 3. | 
| 63 | 
            +
                  rspec-support (~> 3.9.0)
         | 
| 113 64 | 
             
                rspec-its (1.2.0)
         | 
| 114 65 | 
             
                  rspec-core (>= 3.0.0)
         | 
| 115 66 | 
             
                  rspec-expectations (>= 3.0.0)
         | 
| 116 | 
            -
                rspec-mocks (3. | 
| 67 | 
            +
                rspec-mocks (3.9.1)
         | 
| 117 68 | 
             
                  diff-lcs (>= 1.2.0, < 2.0)
         | 
| 118 | 
            -
                  rspec-support (~> 3. | 
| 119 | 
            -
                rspec-support (3. | 
| 69 | 
            +
                  rspec-support (~> 3.9.0)
         | 
| 70 | 
            +
                rspec-support (3.9.3)
         | 
| 120 71 | 
             
                rubocop (0.79.0)
         | 
| 121 72 | 
             
                  jaro_winkler (~> 1.5.1)
         | 
| 122 73 | 
             
                  parallel (~> 1.10)
         | 
| @@ -125,43 +76,32 @@ GEM | |
| 125 76 | 
             
                  ruby-progressbar (~> 1.7)
         | 
| 126 77 | 
             
                  unicode-display_width (>= 1.4.0, < 1.7)
         | 
| 127 78 | 
             
                ruby-progressbar (1.10.1)
         | 
| 128 | 
            -
                ruby_parser (3.14.2)
         | 
| 129 | 
            -
                  sexp_processor (~> 4.9)
         | 
| 130 | 
            -
                sexp_processor (4.15.0)
         | 
| 131 | 
            -
                simplecov (0.16.1)
         | 
| 132 | 
            -
                  docile (~> 1.1)
         | 
| 133 | 
            -
                  json (>= 1.8, < 3)
         | 
| 134 | 
            -
                  simplecov-html (~> 0.10.0)
         | 
| 135 | 
            -
                simplecov-html (0.10.2)
         | 
| 136 79 | 
             
                thread_safe (0.3.6)
         | 
| 137 80 | 
             
                unicode-display_width (1.6.1)
         | 
| 138 | 
            -
                unparser (0.4. | 
| 81 | 
            +
                unparser (0.4.8)
         | 
| 139 82 | 
             
                  abstract_type (~> 0.0.7)
         | 
| 140 83 | 
             
                  adamantium (~> 0.2.0)
         | 
| 84 | 
            +
                  anima (~> 0.3.1)
         | 
| 141 85 | 
             
                  concord (~> 0.1.5)
         | 
| 142 86 | 
             
                  diff-lcs (~> 1.3)
         | 
| 143 87 | 
             
                  equalizer (~> 0.0.9)
         | 
| 88 | 
            +
                  mprelude (~> 0.1.0)
         | 
| 144 89 | 
             
                  parser (>= 2.6.5)
         | 
| 145 90 | 
             
                  procto (~> 0.0.2)
         | 
| 146 91 | 
             
                variable (0.0.1)
         | 
| 147 92 | 
             
                  equalizer (~> 0.0.11)
         | 
| 148 | 
            -
                virtus (1.0.5)
         | 
| 149 | 
            -
                  axiom-types (~> 0.1)
         | 
| 150 | 
            -
                  coercible (~> 1.0)
         | 
| 151 | 
            -
                  descendants_tracker (~> 0.0, >= 0.0.3)
         | 
| 152 | 
            -
                  equalizer (~> 0.0, >= 0.0.9)
         | 
| 153 | 
            -
                yard (0.9.25)
         | 
| 154 | 
            -
                yardstick (0.9.9)
         | 
| 155 | 
            -
                  yard (~> 0.8, >= 0.8.7.2)
         | 
| 156 93 |  | 
| 157 94 | 
             
            PLATFORMS
         | 
| 158 95 | 
             
              ruby
         | 
| 159 96 |  | 
| 160 97 | 
             
            DEPENDENCIES
         | 
| 161 | 
            -
              devtools (~> 0.1.25)
         | 
| 162 98 | 
             
              mutant!
         | 
| 163 99 | 
             
              mutant-license!
         | 
| 164 100 | 
             
              parallel (~> 1.3)
         | 
| 101 | 
            +
              rspec (~> 3.9)
         | 
| 102 | 
            +
              rspec-core (~> 3.9)
         | 
| 103 | 
            +
              rspec-its (~> 1.2.0)
         | 
| 104 | 
            +
              rubocop (~> 0.79.0)
         | 
| 165 105 |  | 
| 166 106 | 
             
            BUNDLED WITH
         | 
| 167 | 
            -
               2.1. | 
| 107 | 
            +
               2.1.4
         | 
    
        data/README.md
    CHANGED
    
    | @@ -41,12 +41,33 @@ would be. | |
| 41 41 |  | 
| 42 42 | 
             
            ## Ruby Versions
         | 
| 43 43 |  | 
| 44 | 
            -
            Mutant  | 
| 45 | 
            -
            including Ruby 2.6.
         | 
| 44 | 
            +
            Mutant supports multiple ruby versions at different levels. The levels arge staged:
         | 
| 46 45 |  | 
| 47 | 
            -
             | 
| 46 | 
            +
            * Runtime, indicates mutant can execute on a specific Ruby Version / implementation.
         | 
| 47 | 
            +
            * Syntax, depends on Runtime support, and indicates syntax new to that Ruby version can be used.
         | 
| 48 | 
            +
            * Mutations, depends on Syntax support, and indicates syntax new to that Ruby verison is being analysed.
         | 
| 48 49 |  | 
| 49 | 
            -
             | 
| 50 | 
            +
            Supported indicates if a specific Ruby version / Implementation is actively supported. Which means:
         | 
| 51 | 
            +
             | 
| 52 | 
            +
            * New releases will only be done if all tests pass on supported Ruby versions / implementations.
         | 
| 53 | 
            +
            * New features will be available.
         | 
| 54 | 
            +
             | 
| 55 | 
            +
            | Implementation | Version        | Runtime            | Syntax             | Mutations          | Supported          |
         | 
| 56 | 
            +
            | -------------- | -------------- | -------            | ------------------ | ------------------ | ------------------ |
         | 
| 57 | 
            +
            | cRUBY/MRI      | 2.5            | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
         | 
| 58 | 
            +
            | cRUBY/MRI      | 2.6            | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
         | 
| 59 | 
            +
            | cRUBY/MRI      | 2.7            | :heavy_check_mark: | :soon:             | :soon:             | :heavy_check_mark: |
         | 
| 60 | 
            +
            | jruby          | TBD            | :email:            | :email:            | :email:            | :email:            |
         | 
| 61 | 
            +
            | mruby          | TBD            | :email:            | :email:            | :email:            | :email:            |
         | 
| 62 | 
            +
            | cRUBY/MRI      | < 2.5          | :no_entry:         | :no_entry:         | :no_entry:         | :no_entry:         |
         | 
| 63 | 
            +
             | 
| 64 | 
            +
             | 
| 65 | 
            +
            Labels:
         | 
| 66 | 
            +
             | 
| 67 | 
            +
            * :heavy_check_mark: Supported.
         | 
| 68 | 
            +
            * :soon: Active work in progress.
         | 
| 69 | 
            +
            * :email: Planned, please contact me on interest.
         | 
| 70 | 
            +
            * :no_entry: Not being planned, or considered, still contact me on interest.
         | 
| 50 71 |  | 
| 51 72 | 
             
            ## Licensing
         | 
| 52 73 |  |