我有一个公开两个接口方法的类client_options
,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
但是,它有点不可读。
是否有更直接的解决方案来别名私有方法?