Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 名称空间的configatron速记_Ruby_Configuration_Configatron - Fatal编程技术网

Ruby 名称空间的configatron速记

Ruby 名称空间的configatron速记,ruby,configuration,configatron,Ruby,Configuration,Configatron,有没有办法避免每次使用configatron gem时都键入名称空间? 说吧,你有 configatron.email.pop.address = 1 configatron.email.pop.port = 2 我可以通过键入configatron.email.pop一次来配置端口和地址吗?您可以做的一件简单的事情就是这样 configatron.email.pop.tap do|pop| pop.address = 'localhost' pop.port = 22 end

有没有办法避免每次使用configatron gem时都键入名称空间? 说吧,你有

  configatron.email.pop.address = 1
  configatron.email.pop.port = 2

我可以通过键入
configatron.email.pop
一次来配置端口和地址吗?

您可以做的一件简单的事情就是这样

configatron.email.pop.tap do|pop|
  pop.address = 'localhost'
  pop.port = 22
end
甚至这个

pop = configatron.email.pop
pop.address = 'localhost'
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对象添加单例方法

class << configatron
  def pop; email.pop; end
end

configatron.pop.address = 'localhost'
configatron.pop.port = 22

class您可以做的一件简单的事情就是这样

configatron.email.pop.tap do|pop|
  pop.address = 'localhost'
  pop.port = 22
end
甚至这个

pop = configatron.email.pop
pop.address = 'localhost'
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对象添加单例方法

class << configatron
  def pop; email.pop; end
end

configatron.pop.address = 'localhost'
configatron.pop.port = 22

class您使用的是
tap
方法吗?您使用的是
tap
方法吗?