active_mutator 0.1.0 → 0.2.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +160 -63
  3. data/lib/active_mutator/accepted_ledger.rb +23 -8
  4. data/lib/active_mutator/atomic_file.rb +1 -1
  5. data/lib/active_mutator/baseline.rb +13 -4
  6. data/lib/active_mutator/baseline_delta.rb +67 -1
  7. data/lib/active_mutator/baseline_hooks.rb +2 -2
  8. data/lib/active_mutator/cli.rb +16 -4
  9. data/lib/active_mutator/config.rb +2 -1
  10. data/lib/active_mutator/config_file.rb +89 -0
  11. data/lib/active_mutator/coverage_map.rb +1 -1
  12. data/lib/active_mutator/defined_constants.rb +48 -0
  13. data/lib/active_mutator/edit.rb +8 -2
  14. data/lib/active_mutator/engine.rb +15 -2
  15. data/lib/active_mutator/fingerprint.rb +1 -1
  16. data/lib/active_mutator/inserter.rb +6 -3
  17. data/lib/active_mutator/operators/base.rb +2 -1
  18. data/lib/active_mutator/operators/call_swap.rb +16 -0
  19. data/lib/active_mutator/operators/literal.rb +14 -2
  20. data/lib/active_mutator/reporter/github.rb +36 -0
  21. data/lib/active_mutator/reporter/json.rb +1 -0
  22. data/lib/active_mutator/reporter/operator_stats.rb +20 -0
  23. data/lib/active_mutator/reporter/stryker_json.rb +117 -0
  24. data/lib/active_mutator/reporter/terminal.rb +11 -0
  25. data/lib/active_mutator/runner.rb +121 -17
  26. data/lib/active_mutator/scheduler.rb +64 -7
  27. data/lib/active_mutator/source_location.rb +21 -0
  28. data/lib/active_mutator/subject.rb +7 -1
  29. data/lib/active_mutator/subject_finder.rb +46 -7
  30. data/lib/active_mutator/subject_matcher.rb +23 -0
  31. data/lib/active_mutator/timeout_calibrator.rb +75 -0
  32. data/lib/active_mutator/version.rb +1 -1
  33. data/lib/active_mutator/work_item.rb +8 -1
  34. data/lib/active_mutator/worker.rb +5 -2
  35. data/lib/active_mutator.rb +8 -0
  36. metadata +13 -5
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_mutator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel John
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-07-10 00:00:00.000000000 Z
11
+ date: 2026-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: prism
@@ -52,10 +52,10 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.13'
55
- description: 'Mutation testing for Ruby and Rails: Prism-based source-span mutations
55
+ description: Mutation testing for Ruby and Rails. Uses Prism-based source-span mutations
56
56
  (no unparser), coverage-mapped test selection, and a fork-per-mutant kill pipeline.
57
- Scopes to changed methods for a fast dev loop, or a diff for CI, with an incremental
58
- coverage baseline and a committed acceptance ledger for equivalent mutants.'
57
+ Scopes to changed methods for a fast dev loop, or to a diff for CI. Includes an
58
+ incremental coverage baseline and a committed acceptance ledger for equivalent mutants.
59
59
  email:
60
60
  executables:
61
61
  - active_mutator
@@ -74,7 +74,9 @@ files:
74
74
  - lib/active_mutator/baseline_hooks.rb
75
75
  - lib/active_mutator/cli.rb
76
76
  - lib/active_mutator/config.rb
77
+ - lib/active_mutator/config_file.rb
77
78
  - lib/active_mutator/coverage_map.rb
79
+ - lib/active_mutator/defined_constants.rb
78
80
  - lib/active_mutator/edit.rb
79
81
  - lib/active_mutator/engine.rb
80
82
  - lib/active_mutator/fingerprint.rb
@@ -89,15 +91,21 @@ files:
89
91
  - lib/active_mutator/operators/logical_operator.rb
90
92
  - lib/active_mutator/operators/negation_removal.rb
91
93
  - lib/active_mutator/operators/statement_deletion.rb
94
+ - lib/active_mutator/reporter/github.rb
92
95
  - lib/active_mutator/reporter/json.rb
96
+ - lib/active_mutator/reporter/operator_stats.rb
97
+ - lib/active_mutator/reporter/stryker_json.rb
93
98
  - lib/active_mutator/reporter/terminal.rb
94
99
  - lib/active_mutator/result.rb
95
100
  - lib/active_mutator/runner.rb
96
101
  - lib/active_mutator/scheduler.rb
97
102
  - lib/active_mutator/since_filter.rb
103
+ - lib/active_mutator/source_location.rb
98
104
  - lib/active_mutator/splicer.rb
99
105
  - lib/active_mutator/subject.rb
100
106
  - lib/active_mutator/subject_finder.rb
107
+ - lib/active_mutator/subject_matcher.rb
108
+ - lib/active_mutator/timeout_calibrator.rb
101
109
  - lib/active_mutator/version.rb
102
110
  - lib/active_mutator/work_item.rb
103
111
  - lib/active_mutator/worker.rb