ruby-next 0.9.0.pre → 0.9.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +12 -5
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2fb5ad16fa4e7865d12850055cbfb5480210ee73b5ed59c353fc90cf0f33127c
|
4
|
+
data.tar.gz: 57fd5b967ac1573dbcd2422514988dff1625f8b26cd6bc0e680367d076b09fc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bafa102aaeef4bf391b4bdf3e25340258fd458a3e298dacd838b5077398236e5a498634b90c755adff72780240f516384c733b643761b1481eef5f2f4f0ff358
|
7
|
+
data.tar.gz: 193f3adf4f70d80445afcb0b417f1c904ca2ecc391f9d355b3ad54a84c22313317d80899b64c96378f61987b6141f02315940843697ae7e4e29d9008dbfbcb0c
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
2
2
|
|
3
3
|
## master
|
4
4
|
|
5
|
+
## 0.9.0 (2020-06-04)
|
6
|
+
|
7
|
+
- Add Ruby 2.3 support. ([@palkan][])
|
8
|
+
|
9
|
+
- Remove stale transpiled files when running `ruby-next nextify`. ([@palkan][])
|
10
|
+
|
5
11
|
- Add Ruby 2.4 support. ([@palkan][])
|
6
12
|
|
7
13
|
APIs for <2.5 must be backported via [backports][] gem. Refinements are not supported.
|
data/README.md
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
[](https://rubygems.org/gems/ruby-next) [](https://github.com/ruby-next/ruby-next/actions)
|
2
|
-
[](https://github.com/ruby-next/ruby-next/actions)
|
2
|
+
[](https://github.com/ruby-next/ruby-next/actions?query=workflow%3A%22TruffleRuby+Build%22)
|
3
|
+
[](https://github.com/ruby-next/ruby-next/actions?query=workflow%3A%22TruffleRuby+Build%22)
|
3
4
|
|
4
5
|
# Ruby Next
|
5
6
|
|
@@ -66,7 +67,7 @@ Core provides **polyfills** for Ruby core classes APIs via Refinements (default
|
|
66
67
|
Language is responsible for **transpiling** edge Ruby syntax into older versions. It could be done
|
67
68
|
programmatically or via CLI. It also could be done in runtime.
|
68
69
|
|
69
|
-
Currently, Ruby Next supports Ruby versions 2.
|
70
|
+
Currently, Ruby Next supports Ruby versions 2.3+, 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)).
|
70
71
|
|
71
72
|
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.
|
72
73
|
|
@@ -137,6 +138,8 @@ The following _rule of thumb_ is recommended when choosing between refinements a
|
|
137
138
|
- 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 🙂)
|
138
139
|
- Use core extensions if refinements are not supported by your platform
|
139
140
|
|
141
|
+
**NOTE:** TruffleRuby doesn't fully support refinements (refining modules is not supported as of v20.1.0).
|
142
|
+
|
140
143
|
[**The list of supported APIs.**][features_core]
|
141
144
|
|
142
145
|
## Transpiling
|
@@ -390,6 +393,12 @@ RUBYOPT="-ruby-next" ruby my_ruby_script.rb
|
|
390
393
|
ruby -ruby-next -e "puts [2, 4, 5].tally"
|
391
394
|
```
|
392
395
|
|
396
|
+
**NOTE:** running Ruby scripts directly or executing code via `-e` option is not supported in TruffleRuby. You can still use `-ruby-next` to transpile required files, e.g.:
|
397
|
+
|
398
|
+
```sh
|
399
|
+
ruby -ruby-next -r my_ruby_script.rb -e "puts my_method"
|
400
|
+
```
|
401
|
+
|
393
402
|
## Logging and debugging
|
394
403
|
|
395
404
|
Ruby Next prints some debugging information when fails to load a file in the runtime mode (and fallbacks to the built-in loading mechanism).
|
@@ -426,9 +435,7 @@ AllCops:
|
|
426
435
|
|
427
436
|
## Using with EOL Rubies
|
428
437
|
|
429
|
-
|
430
|
-
|
431
|
-
We currently provide experimental support for Ruby 2.4. Work on older Rubies (down to 2.2) is in progress.
|
438
|
+
We currently provide support for Ruby 2.3 and 2.4. Work on 2.2 is in progress.
|
432
439
|
|
433
440
|
Ruby Next itself relies on 2.5 features and contains polyfills only for version 2.5+ (and that won't change).
|
434
441
|
Thus, to make it work with <2.5 we need to backport some APIs ourselves.
|
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.9.0
|
4
|
+
version: 0.9.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-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-next-core
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.8.0.
|
33
|
+
version: 2.8.0.6
|
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: 2.8.0.
|
40
|
+
version: 2.8.0.6
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: unparser
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -81,12 +81,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
81
81
|
requirements:
|
82
82
|
- - ">="
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 2.
|
84
|
+
version: 2.3.0
|
85
85
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
89
|
+
version: '0'
|
90
90
|
requirements: []
|
91
91
|
rubygems_version: 3.0.6
|
92
92
|
signing_key:
|