README.md in ruby-next-0.7.0 vs README.md in ruby-next-0.8.0
- old
+ new
@@ -60,16 +60,20 @@
# Install Ruby Next globally
$ gem install ruby-next
# Call ruby with -ruby-next flag
$ ruby -ruby-next -e "
- case {hello: 'martian'}
- in hello: hello if hello =~ /human/
- puts '🙂'
- in hello: 'martian'
- puts '👽'
- end
+def greet(val) =
+ case val
+ in hello: hello if hello =~ /human/i
+ '🙂'
+ in hello: 'martian'
+ '👽'
+ end
+
+greet(hello: 'martian') => greeting
+puts greeting
"
=> 👽
```
@@ -158,10 +162,12 @@
- From code by setting `RubyNext::Language.mode = :ast` or `RubyNext::Language.mode = :rewrite`.
- Via environmental variable `RUBY_NEXT_TRANSPILE_MODE=rewrite`.
- Via CLI option ([see below](#cli)).
+**NOTE:** For the time being, Unparser [doesn't support](https://github.com/mbj/unparser/pull/142) new Ruby 2.7 AST nodes, so we always use rewrite mode in Ruby 2.7+.
+
## CLI
Ruby Next ships with the command-line interface (`ruby-next`) which provides the following functionality:
### `ruby-next nextify`
@@ -429,14 +435,16 @@
- Set `RUBY_NEXT_EDGE=1` or `RUBY_NEXT_PROPOSED=1` environment variable.
### Supported edge features
-Not yet.
+- "Endless" method definition (`def foo() = 42`) ([#16746](https://bugs.ruby-lang.org/issues/16746)).
+- Right-hand assignment (`13.divmod(5) => a,b`) ([#15921](https://bugs.ruby-lang.org/issues/15921))
+
### Supported proposed features
-- _Method reference_ operator (`.:`) ([link](https://bugs.ruby-lang.org/issues/13581)).
+- _Method reference_ operator (`.:`) ([#13581](https://bugs.ruby-lang.org/issues/13581)).
## Contributing
Bug reports and pull requests are welcome on GitHub at [https://github.com/ruby-next/ruby-next](ttps://github.com/ruby-next/ruby-next).