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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +14 -4
  4. metadata +9 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe4d8a355191412c50b1f1c4c7cbf92e3d70ecb0dff07602ad0e55549e1cc764
4
- data.tar.gz: 54a7d596d68a55cf34f1fc1371d3675aa046b54149d45be44c93f329121b1e7d
3
+ metadata.gz: be78f96adabbd05806a195f44a250b1e673b4f51996d74fc5dfce79c8485e77a
4
+ data.tar.gz: 3335bf2ff7c74bc00fc1e332708f4c05bba24c793afae8dd6a8ab7f49a579a1d
5
5
  SHA512:
6
- metadata.gz: cabc61d8bd370bdb3b04353f87ec7eb353200484a6d61d592be9f1917a4eb507b404d8a0a915ea49531c2059668dcbb34518dc10ca815202c9fa67df6a6f7d15
7
- data.tar.gz: 967f88bac4e946b0f5b4de8a121ffc2b72f2cdccb5df99f398d9cb15533fa37fa20371ff9213799555afae1cd48bd1f24e04235632cc09e5e91bfa59e1ad9ea7
6
+ metadata.gz: 414da97faa41ebefa319e4dd2bb75601e119e5ebfef87e4f27269a56fce6aa55ed8afecfc4b356478b907ff83db9f508ab3c9284cb955e704c4adc955245009e
7
+ data.tar.gz: '01889f7d394c718613a8b76c5a30133649c7ad7a032e05cebc89f4a689ace6fb9d75cb53e8955880a5fb057c675a49d80e6acfd77f209a7c1fa9c9685a3c33cc'
@@ -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.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)).
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:** TruffleRuby doesn't fully support refinements (refining modules is not supported as of v20.1.0).
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. Work on 2.2 is in progress.
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.9.2
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-06-23 00:00:00.000000000 Z
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.9.2
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.9.2
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: 2.8.0.7
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: 2.8.0.7
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.7
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.7
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.3.0
84
+ version: 2.2.0
85
85
  required_rubygems_version: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="