Nested hash / openstruct question

Hello,
I am a newbie to Ruby. I am having trouble reading the entries from
nested yaml configuration file. Any help would be highly appreciated.

YAML configuration file:

···

---
AppName: Record Center
DEV:
- user: test
  webServers:
    webserver1: wserver1
    webserver2: wserver2
  appServers:
    appserver1: aserver3
    appserver2: aserver4
  password: blah
QA:
- user: test
  webServers:
    webserver1: wserver11
    webserver2: wserver22
  appServers:
    appserver1: aserver33
    appserver2: aserver44
  password: blah

My code uses hash to openstruct code
(http://www.dribin.org/dave/blog/archives/2006/11/17/hashes_to_ostruct/).
Things work fine when I read the AppName. When I try to read the user /
password or webServers or appServers entry... I am getting the following
exception.

--
Posted via http://www.ruby-forum.com/.

Sorry...I hit the submit button before pasting the actual error message.
recordcentercrawler/rccrawler.rb:30: undefined method `webServers' for
#<Array:0
x2dbc868> (NoMethodError)

Any help would be highly appreciated.

Thanks
Pugal

Pugal P wrote:

···

Hello,
I am a newbie to Ruby. I am having trouble reading the entries from
nested yaml configuration file. Any help would be highly appreciated.

YAML configuration file:
---
AppName: Record Center
DEV:
- user: test
  webServers:
    webserver1: wserver1
    webserver2: wserver2
  appServers:
    appserver1: aserver3
    appserver2: aserver4
  password: blah
QA:
- user: test
  webServers:
    webserver1: wserver11
    webserver2: wserver22
  appServers:
    appserver1: aserver33
    appserver2: aserver44
  password: blah

My code uses hash to openstruct code
(http://www.dribin.org/dave/blog/archives/2006/11/17/hashes_to_ostruct/\).
Things work fine when I read the AppName. When I try to read the user /
password or webServers or appServers entry... I am getting the following
exception.

--
Posted via http://www.ruby-forum.com/\.

Hi,

At Mon, 2 Apr 2007 09:58:45 +0900,
Pugal Panneerselvam wrote in [ruby-talk:246323]:

Sorry...I hit the submit button before pasting the actual error message.
recordcentercrawler/rccrawler.rb:30: undefined method `webServers' for
#<Array:0 x2dbc868> (NoMethodError)

Your YAML has arrays under DEV and QA.

> DEV:
> - user: test

Try replacing "-" with " ".

···

--
Nobu Nakada