メソッド内でメソッドの引数の一覧を取得する

def hoge(a, b, c)
  p self.method(__callee__).parameters
  #=> [[:req, :a], [:req, :b], [:req, :c]]
end

hoge(1, 2, 3)

Kernel.#__callee__Method#parametersを使う。
__callee__で今いるメソッドの名前がSymbolとして取れるので、それをself.methodの引数に渡して、Method#parametersで引数の一覧を取得する、という流れ。