Actions
Feature #16404
closedAdd Proc#ruby2_keywords
Status:
Closed
Assignee:
-
Target version:
-
Description
While the need is not as common as for methods, procs could benefit from supporting ruby2_keywords, and there are cases in Rails where keywords are passed through procs using a normal argument splat [1]. If we don't add this, such cases will require separate proc definitions depending on ruby version. With this, you only need to call ruby2_keywords
on the proc if it is defined. Example:
foo = ->(*args, &block){block.call(*args)}
foo.call(a: 1, &->(**x){x})
# warning: The last argument is used as the keyword parameter
# warning: for `call' defined here; maybe ** should be added to the call?
# => {:a=>1}
foo.ruby2_keywords
foo.call(a: 1, &->(**x){x})
# => {:a=>1}
I've added a pull request for this: https://github.com/ruby/ruby/pull/2728
Actions
Like0
Like0Like0