通常、名前付き引数で呼び出されるメソッドがあり、次のようになります
def foo(x = nil, y = nil)
fail ArgumentError, "x must be present" unless x
fail ArgumentError, "y must be present" unless y
# do stuff with x and y
end
のように書き換えたい
def foo(x = nil, y = nil)
required_arguments :x, :y
# do stuff with x and y
end
また
class Foo
required_arguments :bar, :x, :y
def bar(x = nil, y = nil)
end
end
2番目のアプローチを実装しようとしましalias_method_chain
たが、問題は__method__
ユーティリティモジュールのコンテキストで評価されるため、確認する必要があるメソッドのパラメーターにアクセスできないことです。何か案は?