这些代码都存在于dialplan.rb中的inbound_did上下文中
host_config = YAML::load(File.open("config/hosts.yml")).to_hash
sip_hash = host_config["sip_hash"]
hostnames = host_config["hostnames"]我正在考虑是否应该将YAML::load放在dialplan.rb中或其他地方。我只想在adhearsion启动时加载它一次,但我不知道如何从拨号计划的作用域访问该配置变量……
发布于 2011-09-02 02:27:46
如果你只想加载一个常量,那么常量对你来说是合适的吗?
class Dialplan
HOST_CONFIG = YAML::load(File.open("config/hosts.yml")).to_hash
def some_method
sip_hash = HOST_CONFIG["sip_hash"]
hostnames = HOST_CONFIG["hostnames"]
end
end然后,如果你想在另一个类中使用它,你可以这样做:
class Other
def other_method
sip_hash = Dialplan::HOST_CONFIG["sip_hash"]
hostnames = Dialplan::HOST_CONFIG["hostnames"]
end
endhttps://stackoverflow.com/questions/7274573
复制相似问题