def define_attributes
      @info.attributes.each do |attr|
        rname = underscore(attr.name)
        self.class.__send__(:define_method, rname) { self[attr.name] } if attr.readable?
        self.class.__send__(:define_method, rname + "=") {|v| self[attr.name] = v } if attr.writable?
      end
    end
def define_attributes
      @info.attributes.each do |attr|
        rname = underscore(attr.name)
        self.class.__send__(:define_method, rname) { self[attr.name] } if attr.readable?
        self.class.__send__(:define_method, rname + "=") {|v| self[attr.name] = v } if attr.writable?
      end
    end
Define ruby friendly methods for attributes.  For odd attribute names or
 names that you want to call with the actual attribute name you can call
 aref/aset ([], []=).