首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adhearsion中的Ruby YML文件-我应该在哪里加载该文件?

Adhearsion中的Ruby YML文件-我应该在哪里加载该文件?
EN

Stack Overflow用户
提问于 2011-09-02 02:11:23
回答 1查看 123关注 0票数 0

这些代码都存在于dialplan.rb中的inbound_did上下文中

代码语言:javascript
复制
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启动时加载它一次,但我不知道如何从拨号计划的作用域访问该配置变量……

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-02 02:27:46

如果你只想加载一个常量,那么常量对你来说是合适的吗?

代码语言:javascript
复制
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

然后,如果你想在另一个类中使用它,你可以这样做:

代码语言:javascript
复制
class Other
  def other_method
    sip_hash = Dialplan::HOST_CONFIG["sip_hash"]
    hostnames = Dialplan::HOST_CONFIG["hostnames"]
  end
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7274573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档