https://github.com/ruby/ruby2_keywords
Shim library for Module#ruby2_keywords
https://github.com/ruby/ruby2_keywords
ruby
Last synced: 9 months ago
JSON representation
Shim library for Module#ruby2_keywords
- Host: GitHub
- URL: https://github.com/ruby/ruby2_keywords
- Owner: ruby
- License: bsd-2-clause
- Created: 2019-10-16T15:18:13.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2024-04-19T10:57:27.000Z (over 1 year ago)
- Last Synced: 2024-10-29T12:57:42.137Z (about 1 year ago)
- Topics: ruby
- Language: Ruby
- Homepage:
- Size: 40 KB
- Stars: 61
- Watchers: 8
- Forks: 15
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ruby2_keywords
Provides empty `Module#ruby2_keywords` method, for the forward
source-level compatibility against ruby2.7 and ruby3.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'ruby2_keywords'
```
And then execute:
$ bundle
Or install it yourself as:
$ gem install ruby2_keywords
## Usage
For class/module instance methods:
```ruby
require 'ruby2_keywords'
module YourModule
ruby2_keywords def delegating_method(*args)
other_method(*args)
end
end
```
For global methods:
```ruby
require 'ruby2_keywords'
ruby2_keywords def oldstyle_keywords(options = {})
end
```
You can do the same for a method defined by `Module#define_method`:
```ruby
define_method :delegating_method do |*args, &block|
other_method(*args, &block)
end
ruby2_keywords :delegating_method
```
## Contributing
Bug reports and pull requests are welcome on [GitHub] or
[Ruby Issue Tracking System].
## Development
After checking out the repo, run `bundle install` to install dependencies.
Then, run `bundle exec rake test` to run the tests.
To test on older Ruby versions, you can use docker. E.g. to test on Ruby 2.0,
use `docker-compose run ruby-2.0`.
## License
The gem is available as open source under the terms of the
[Ruby License] or the [2-Clause BSD License].
[GitHub]: https://github.com/ruby/ruby2_keywords/
[Ruby Issue Tracking System]: https://bugs.ruby-lang.org
[Ruby License]: https://www.ruby-lang.org/en/about/license.txt
[2-Clause BSD License]: https://opensource.org/licenses/BSD-2-Clause