@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

Separation of positional and keyword arguments in Ruby 3.0に対応した

SPARQL::Client.new endpoint_url, endpoint_options

のようにオプションのハッシュを渡している場所に、**をつけて次のように直しました。

SPARQL::Client.new endpoint_url, **endpoint_options

このコンストラクタの実装は次の通りです。

https://github.com/ruby-rdf/sparql-client/blob/84adf30962098991fcdfc1044b7432cda4017e70/lib/sparql/client.rb#L95

def initialize(url, **options, &block)

このとき出るエラーは次のようなArgumentErrorです。

ArgumentError (wrong number of arguments (given 2, expected 1)):

lib/sparql_client/cacheable_client.rb:33:in `new'

ちょっと直感的でないです。 影響箇所が多い場合は、Ruby 2.7に-W:deprecatedをつけて実行すると良いかもしれません。

参考