client_options
2 つのインターフェイス メソッドとを公開するクラスがuser_options
あり、この祖先レベルでは、それらは と同等default_options
です。default_options
他の開発者に直接実装してほしくないので、プライベートです。
class Foo
def client_options
default_options
end
def user_options
default_options
end
private
def default_options
{ foo: :bar }
end
end
数行のコードを節約するために、メソッドにエイリアスを設定したいと思いました。
class Foo
alias_method :client_options, :default_options
alias_method :user_options, :default_options
private
def default_options
{ foo: :bar }
end
end
ただし、alias_method
パブリック メソッドのエイリアスのみです。
このブログでプライベート メソッドをエイリアスする方法を見つけました。
class Foo
def default_options
{ foo: :bar}
end
private :default_options
alias_method :client_options, :default_options
public :client_options
end
しかし、それは少し読みにくいです。
プライベートメソッドをエイリアスするためのより直接的な解決策はありますか?