Разделить строку на отдельные строки, разделенные символом \n
(или, если встречается строка "\ n", используйте двойные кавычки для разделения этой строки)
like_elements = User.first.likes.split("\n") # <- String, not character, delimited version
=> ['id: "136333439795671"', 'created_time: 2011-09-05T12:03:09+0000", "- name: Drawn Together" ... etc.]
Затем соберите все элементы, которые начинаются с "- name:", в их собственный массив:
name_elements = like_elements.select{|s| s.start_with?("- name: ")}
=> ["- name: Drawn Together", "- name: Rome sweet Rome"]
Затем возьмите каждый из элементов в name_elements
, удалите начальный текст "- name: "
и удалите ведущийконечный пробел
names_of_likes_only = name_elements.collect{|n| n.gsub("- name: ", "").strip}
=> ["Drawn Together", "Rome sweet Rome"]