README.md in preval-0.3.0 vs README.md in preval-0.4.0

- old
+ new

@@ -29,18 +29,25 @@ Each optimization is generally named for the function it performs, and can be enabled through the `enable!` method on the visitor class. If you do not explicitly call `enable!` on any optimizations, nothing will change with your source. * `Preval::Visitors::Arithmetic` replaces: * constant expressions with their evaluation (e.g., `5 + 2` becomes `7`) * arithmetic identities with their evaluation (e.g., `a * 1` becomes `a`) -* `Preval::Visitors::Micro` replaces: +* `Preval::Visitors::AttrAccessor` replaces: * `def foo; @foo; end` with `attr_reader :foo` + * `def foo=(value); @foo = value; end` with `attr_writer :foo` +* `Preval::Visitors::Fasterer` replaces: * `.gsub('...', '...')` with `.tr('...', '...')` if the arguments are strings and are both of length 1 * `.map { ... }.flatten(1)` with `.flat_map { ... }` * `.reverse.each` with `.reverse_each` * `.shuffle.first` with `.sample` * `Preval::Visitors::Loops` replaces: * `for ... in ... end` loops with `... each do ... end` loops * `while true ... end` loops with `loop do ... end` loops + * `while false ... end` loops with nothing + * `until false ... end` loops with `loop do ... end` loops + * `until true ... end` loops with nothing + +You can also call `Preval.enable_all!` which will enable every built-in visitor. Be especially careful when doing this. ## Development After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.