-
Notifications
You must be signed in to change notification settings - Fork 224
Release Note 2.8
RBS 2.8.1 is the latest version of RBS 2.8.
Some of the highlights in RBS 2.8 are:
- Support to call collection command in child dir (#1025, #1135)
- Make type/method-type parser more flexible about input position (#1140)
You can install it with $ gem install rbs or using Bundler.
gem 'rbs', '~> 2.8.0'See the CHANGELOG for the details.
You can upgrade to RBS 2.8 from 2.7 safely.
rbs collection commands try to find rbs_collection.yaml and rbs_collection.lock.yaml in ancestor directories. The commands will use the inner-most rbs_collection.yaml, while Bundler users the top-most Gemfile from the ancestor directories.
The path to Gemfile.lock is also saved in the rbs_collection.lock.yaml to ensure the Bundler context is the same one as the one where lockfile is generated in.
The RBS::Parser.parse_type and RBS::Parser.parse_method_type now accepts range: keyword, that specify where the parsing starts from and finishes at.
RBS::Parser.parse_type("() -> void () -> String", range: 6...10) # Returns `void`
RBS::Parser.parse_type("() -> void () -> String", range: 6...) # Returns `void` tooWhen range: is specified, the parser consumes one type/method-type and just returns, doesn't raises an error even if the input has more tokens other than EOF. You can use the new range: version to parse from the middle of the input and then continue processing the rest of the input.
When range: keyword is not given, it works as the previous version. It assumes all of the input is one type/method-type and raises an error if there is more token left.
- random (#1144)
-
IO(#1132) -
IO::Buffer(#1137) -
IPAddr(#1131, #1151) -
Socket(#1133, #1134, #1151) -
Yaml(#1141)
-
RBS::InheritModuleErroris added, which is raised if a class declaration inherits a module