I have a methods that converts all DB rows into structs using Struct
class.
First version was:
# res - result objects from DB connector
def create_structs( res )
row_class = Struct.new( 'SQLRow', *res.names )
data = []
res.each do |row|
data << row_class.new( row )
end
data
end
res1 = conn.exec( <<-SQL )
SELECT
name,
surname
FROM
user
SQL
data1 = create_structs( res1 )
# here data1[0] has methods 'name' and 'surname'
res2 = conn.exec( <<-SQL )
SELECT
age
FROM
user
SQL
data2 = create_structs( res2 )
# here both data1 & data2 have method 'age' only
# it is due to redefinition of Struct::SQLRow methods
I would like to rewrite method create_structs to avoid this problem.
--
Best regards,
Eugene [team Enticla] mailto:Eugene.Scripnik / itgrp.net