From: Sean Hussey Date: 2006-03-28T00:06:13+09:00 Subject: Re: Basic YAML help - collection of objects with attributes Nevermind, I got it. I just had to shift some perceptions. YAML.load_file returns an array of arrays, which include a hash for the sub-attributes of each object. Got it. Thanks! Sean On 3/27/06, Sean Hussey wrote: > Hmm, nice, I wasn't away of "y", so that's cool. > > Writing isn't where I'm having the issue, though. Once you get that > file, how do you read it in such that (using your example) you can get > "Guest" and the appropriate guid and ads_path? > > Thanks! > > Sean > > On 3/25/06, Dave Burt wrote: > > Sean Hussey wrote: > > > seanhussey: > > > dn: uid=seanhussey,dc=company,dc=com > > > anotherattr: 39392:12341 > > > > > > Etc, for every user. Although I write a hash to the file, when it all > > > comes out, it's a bunch of arrays. Trying to access pieces of data by > > > their name doesn't work. > > > ... > > > How do I get to user[:uid], user[:anotherattr] and user[:dn] ? > > > > Why not use the YAML library to produce the file as well as consume it? > > > > require 'yaml' > > require 'win32ole' > > domain = WIN32OLE.connect("WinNT://mydomain") > > users = {} > > domain.each do |obj| > > if obj.Class == "User" > > users[obj.Name] = { > > :ads_path => obj.AdsPath, > > :guid => obj.Guid > > } > > end > > end > > y users > > > > Output: > > --- > > Guest: > > :guid: "{D83F1060-1E71-11CF-B1F3-02608C9E7553}" > > :ads_path: WinNT://MSHOME/TELPERION/Guest > > Administrator: > > :guid: "{D83F1060-1E71-11CF-B1F3-02608C9E7553}" > > :ads_path: WinNT://MSHOME/TELPERION/Administrator > > Dave: > > :guid: "{D83F1060-1E71-11CF-B1F3-02608C9E7553}" > > :ads_path: WinNT://MSHOME/TELPERION/Dave > > .... > > > > Cheers, > > Dave > > > > > > > > > >