# Nested hash / openstruct question

**URL:** <https://www.ruby-forum.com/t/nested-hash-openstruct-question/90822>\
**Category:** Ruby\
**Created:** [April 2, 2007, 2:55am UTC](https://www.ruby-forum.com/t/nested-hash-openstruct-question/90822 "2007-04-02T02:55:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pugal\_P](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b2d939/32.png) [@Pugal\_P](https://www.ruby-forum.com/u/Pugal_P)\
**Post date:** [April 2, 2007, 2:55am UTC](https://www.ruby-forum.com/t/nested-hash-openstruct-question/90822/1 "2007-04-02T02:55:29Z")

</div>

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/](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.

---

<div class="post-metadata">

**Author:** ![Pugal\_P](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b2d939/32.png) [@Pugal\_P](https://www.ruby-forum.com/u/Pugal_P)\
**Post date:** [April 2, 2007, 2:58am UTC](https://www.ruby-forum.com/t/nested-hash-openstruct-question/90822/2 "2007-04-02T02:58:44Z")

</div>

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  
> ([Hashes to OpenStruct | Dave Dribin’s Blog](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.

---

<div class="post-metadata">

**Author:** ![Pugal\_P](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b2d939/32.png) [@Pugal\_P](https://www.ruby-forum.com/u/Pugal_P)\
**Post date:** [April 2, 2007, 7:58am UTC](https://www.ruby-forum.com/t/nested-hash-openstruct-question/90822/3 "2007-04-02T07:58:10Z")

</div>

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 " ".
