Skip to content

Getting "wrong number of arguments (given 1, expected 0; required keyword: blocks_as_values) (ArgumentError)" For ruby 3.0.4 #1

@ashish-infogain

Description

@ashish-infogain

I am getting the above error. I am switching the application to the latest ruby version 3.0.4. Please check the below code in ruby 3.0.4(used IRB).
`require 'reverse_parameters'

def example_method(named_param:)
end

ReverseParameters.new(method(:example_method)).arguments.to_s
#=> .rvm/gems/ruby-3.0.4/gems/reverse_parameters-1.1.1/lib/reverse_parameters.rb:118:in post_initialize': wrong number of arguments (given 1, expected 0; required keyword: blocks_as_values) (ArgumentError)

I also tried to find out a solution and it works locally by changing inside lib/reverse_parameters.rb:77
I changed post_initialize(options) to post_initialize(**options)

It's working fine with an old version of ruby(2.5)
`require 'reverse_parameters'

def example_method(named_param:)
end

ReverseParameters.new(method(:example_method)).arguments.to_s
#=> "named_param: named_param"`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions