Ruby YML файл в Adhearsion - куда мне загрузить файл? - PullRequest
0 голосов
/ 01 сентября 2011

Этот код существует в контексте inbound_did в dialplan.rb

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, но я не знаю, как я мог бы тогда получить доступ к этой переменной конфигурации из области набора номеров ...

1 Ответ

2 голосов
/ 01 сентября 2011

если вы хотите загрузить его только один, тогда, возможно, константа будет в порядке для вас?

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
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...