text = shape.send(p)
essentially calls a method named 'p'. So:
'foo'.send('upcase') => 'FOO'
sd
···
however I am going to loop through a number of columns and the column
specified after the (.) will be a variable or string.for p in particulars
text = shape.p
end