From: Ryan Davis Date: 2010-10-19T12:50:01+09:00 Subject: Re: What is This Construct? On Oct 18, 2010, at 18:40 , Travis Tslib wrote: > I can't get to the ID or Name of the item. I've tried trx.item.id and > trx.item[0].id and a few other things. What is that? How can I access > it? The thing that really confuses me is trx.date works. transaction = { :date => DateTime.parse(row.attributes['transactionDateTime']), :item => { :id => row.attributes['typeID'].to_i, :name => row.attributes['typeName'] } } that's a nested hash, just like you'd use in perl. > myAccount.transactions.each do |trx| > puts "#{trx.date}" > end that shouldn't work... are you loading something magical? Eve-api might be doing it. I've never used that... Ah. Looking at the code I see: class Base # omg I hate that name for class hierarchies. DHH be damned. def method_missing(method, *args) return(@options[method]) if @options.has_key?(method) raise(Exceptions::AttributeException,"unknown attribute #{method}") end end class Transaction < Base; end So, yeah. that's why date works... and item. But since it probably isn't recursively creating the objects, the sub-sub items won't work the same way. You'll have to use hash syntax for those (I'd file a bug too): trx.item[:id] and trx.item[:name] should both work fine.