ruby-next 0.9.2 → 0.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -0
- data/README.md +14 -4
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be78f96adabbd05806a195f44a250b1e673b4f51996d74fc5dfce79c8485e77a
|
4
|
+
data.tar.gz: 3335bf2ff7c74bc00fc1e332708f4c05bba24c793afae8dd6a8ab7f49a579a1d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 414da97faa41ebefa319e4dd2bb75601e119e5ebfef87e4f27269a56fce6aa55ed8afecfc4b356478b907ff83db9f508ab3c9284cb955e704c4adc955245009e
|
7
|
+
data.tar.gz: '01889f7d394c718613a8b76c5a30133649c7ad7a032e05cebc89f4a689ace6fb9d75cb53e8955880a5fb057c675a49d80e6acfd77f209a7c1fa9c9685a3c33cc'
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,28 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
+
## 0.10.0 (2020-09-02)
|
6
|
+
|
7
|
+
- Add proposed shorthand Hash syntax. ([@palkan][])
|
8
|
+
|
9
|
+
You can try it: `x = 1; y = 2; data = {x, y}`.
|
10
|
+
|
11
|
+
- Add leading argument support to args forwarding. ([@palkan][])
|
12
|
+
|
13
|
+
`def a(...) b(1, ...); end`.
|
14
|
+
|
15
|
+
- Add `Hash#except`. ([@palkan][])
|
16
|
+
|
17
|
+
`{a: 1, b: 2}.except(:a) == {b: 2}`
|
18
|
+
|
19
|
+
- Add find pattern support. ([@palkan][])
|
20
|
+
|
21
|
+
Now you can do: `[0, 1, 2] in [*, 1 => a, *c]`.
|
22
|
+
|
23
|
+
- Add Ruby 2.2 support. ([@palkan][])
|
24
|
+
|
25
|
+
With support for safe navigation operator (`&.`) and squiggly heredocs (`<<~TXT`).
|
26
|
+
|
5
27
|
## 0.9.2 (2020-06-24)
|
6
28
|
|
7
29
|
- Support passing rewriters to CLI. ([@sl4vr][])
|
data/README.md
CHANGED
@@ -37,6 +37,8 @@ Read more about the motivation behind the Ruby Next in this post: [Ruby Next: Ma
|
|
37
37
|
- Ruby gems
|
38
38
|
- [anyway_config](https://github.com/palkan/anyway_config)
|
39
39
|
- [graphql-fragment_cache](https://github.com/DmitryTsepelev/graphql-ruby-fragment_cache)
|
40
|
+
- Rails applications
|
41
|
+
- [anycable_rails_demo](https://github.com/anycable/anycable_rails_demo)
|
40
42
|
- mruby
|
41
43
|
- [ACLI](https://github.com/palkan/acli)
|
42
44
|
|
@@ -68,7 +70,7 @@ Core provides **polyfills** for Ruby core classes APIs via Refinements (default
|
|
68
70
|
Language is responsible for **transpiling** edge Ruby syntax into older versions. It could be done
|
69
71
|
programmatically or via CLI. It also could be done in runtime.
|
70
72
|
|
71
|
-
Currently, Ruby Next supports Ruby versions 2.
|
73
|
+
Currently, Ruby Next supports Ruby versions 2.2+, including JRuby 9.2.8+ and TruffleRuby 20.1+ (with some limitations). Support for EOL versions (<2.5) slightly differs though ([see below](#using-with-eol-rubies)).
|
72
74
|
|
73
75
|
Please, [open an issue](https://github.com/ruby-next/ruby-next/issues/new/choose) or join the discussion in the existing ones if you would like us to support older Ruby versions.
|
74
76
|
|
@@ -139,7 +141,7 @@ The following _rule of thumb_ is recommended when choosing between refinements a
|
|
139
141
|
- Using core extensions could be considered for application development (no need to think about `using RubyNext`); this approach could potentially lead to conflicts with dependencies (if these dependencies are not using refinements 🙂)
|
140
142
|
- Use core extensions if refinements are not supported by your platform
|
141
143
|
|
142
|
-
**NOTE:**
|
144
|
+
**NOTE:** _Edge_ APIs (i.e., from the Ruby's master branch) are included by default.
|
143
145
|
|
144
146
|
[**The list of supported APIs.**][features_core]
|
145
147
|
|
@@ -427,6 +429,8 @@ You must set `TargetRubyVersion: next` to make RuboCop use a Ruby Next parser.
|
|
427
429
|
|
428
430
|
Alternatively, you can load the patch from the command line by running: `rubocop -r ruby-next/rubocop ...`.
|
429
431
|
|
432
|
+
We recommend using the latest RuboCop version, 'cause it has support for new nodes built-in.
|
433
|
+
|
430
434
|
Also, when pre-transpiling source code with `ruby-next nextify`, we suggest ignoring the transpiled files:
|
431
435
|
|
432
436
|
```yml
|
@@ -439,7 +443,7 @@ AllCops:
|
|
439
443
|
|
440
444
|
## Using with EOL Rubies
|
441
445
|
|
442
|
-
We currently provide support for Ruby 2.3 and 2.4.
|
446
|
+
We currently provide support for Ruby 2.2, 2.3 and 2.4.
|
443
447
|
|
444
448
|
Ruby Next itself relies on 2.5 features and contains polyfills only for version 2.5+ (and that won't change).
|
445
449
|
Thus, to make it work with <2.5 we need to backport some APIs ourselves.
|
@@ -469,6 +473,8 @@ RUBY_NEXT_CORE_STRATEGY=backports ruby-next nextify lib/
|
|
469
473
|
|
470
474
|
**NOTE:** Make sure you have `backports` gem installed globally or added to your bundle (if you're using `bundle exec ruby-next ...`).
|
471
475
|
|
476
|
+
**NOTE:** For Ruby 2.2, safe navigation operator (`&.`) and squiggly heredocs (`<<~TXT`) support is provided.
|
477
|
+
|
472
478
|
## Proposed and edge features
|
473
479
|
|
474
480
|
Ruby Next aims to bring edge and proposed features to Ruby community before they (hopefully) reach an official Ruby release.
|
@@ -502,12 +508,16 @@ require "ruby-next/language/runtime"
|
|
502
508
|
|
503
509
|
- "Endless" method definition (`def foo() = 42`) ([#16746](https://bugs.ruby-lang.org/issues/16746)).
|
504
510
|
|
505
|
-
- Right-hand assignment (`13.divmod(5) => a,b`) ([#15921](https://bugs.ruby-lang.org/issues/15921))
|
511
|
+
- Right-hand assignment (`13.divmod(5) => a,b`) ([#15921](https://bugs.ruby-lang.org/issues/15921)).
|
512
|
+
|
513
|
+
- Find pattern (`[0, 1, 2] in [*, 1 => a, *c]`) ([#16828](https://bugs.ruby-lang.org/issues/16828)).
|
506
514
|
|
507
515
|
### Supported proposed features
|
508
516
|
|
509
517
|
- _Method reference_ operator (`.:`) ([#13581](https://bugs.ruby-lang.org/issues/13581)).
|
510
518
|
|
519
|
+
- Shorthand Hash notation (`data = {x, y}`) ([#15236](https://bugs.ruby-lang.org/issues/15236)).
|
520
|
+
|
511
521
|
## Contributing
|
512
522
|
|
513
523
|
Bug reports and pull requests are welcome on GitHub at [https://github.com/ruby-next/ruby-next](ttps://github.com/ruby-next/ruby-next).
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-next
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladimir Dementyev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-next-core
|
@@ -16,42 +16,42 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.10.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.
|
26
|
+
version: 0.10.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: ruby-next-parser
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 3.0.0.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 3.0.0.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: unparser
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 0.4.
|
47
|
+
version: 0.4.8
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.4.
|
54
|
+
version: 0.4.8
|
55
55
|
description: "\n Ruby Next is a collection of polyfills and a transpiler for supporting
|
56
56
|
latest and upcoming edge CRuby features\n in older versions and alternative implementations
|
57
57
|
(such as mruby, JRuby, Opal, Artichoke, RubyMotion, etc.).\n "
|
@@ -81,7 +81,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
81
81
|
requirements:
|
82
82
|
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 2.
|
84
|
+
version: 2.2.0
|
85
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|