Для этого можно использовать String#split
с регулярным выражением.
str = '"a,b","c,d","e,f"'
#=> "\"a,b\",\"c,d\",\"e,f\""
arr = str.split(/(?<="),(?=")/)
#=> ["\"a,b\"", "\"c,d\"", "\"e,f\""]
puts arr
"a,b"
"c,d"
"e,f"
Регулярное выражение гласит: «соответствует запятой» двойная кавычка ((?<=")
- положительный взгляд за ), а затем двойная кавычка ((?=")
- положительный взгляд ). (На самом деле, для приведенного примера нужно только включить один из положительных взглядов.)