在使用configatron gem时,有没有办法避免每次都输入名称空间?比方说,你有
configatron.email.pop.address = 1
configatron.email.pop.port = 2我可以通过只键入configatron.email.pop一次来配置端口和地址吗?
发布于 2011-11-15 10:08:14
您可以做的一件简单的事情就是这样。
configatron.email.pop.tap do|pop|
pop.address = 'localhost'
pop.port = 22
end甚至是这个。
pop = configatron.email.pop
pop.address = 'localhost'
pop.port = 22您也可以尝试向configatron对象添加单例方法。
class << configatron
def pop; email.pop; end
end
configatron.pop.address = 'localhost'
configatron.pop.port = 22甚至是这个。
class << configatron
def pop_address; email.pop.address; end
def pop_address=(addr); email.pop.address = addr; end
end
configatron.pop_address = 'address'但这可能会破坏一些东西(我假设configatron可以在method_missing上工作)。而且它不会节省太多的输入,但它可以让您对隐藏在几个名称空间中的内容提供一些方便的快捷方式。
不过,也许你应该坚持到这里的冗长。
https://stackoverflow.com/questions/8130402
复制相似问题