Is it possible to pass a model name as a variable?

Yes it will but you have a bug in your code, it should be:

def list(modl)

var = modl.find(:all) #Must call find on modl, not tab

end

def hi

tab = User

list(tab)

end

Can be simplified as:

def list(modl)

modl.find(:all)

end

def hi

list(User)

end