Chcę w przyszłym tygodniu zacząć szukać pracy jako programista RoR (nie wiem czy junior czy normalny, bo robiłem tylko hobbystyczne projekty). Właśnie ćwiczę sobie refaktorowanie kodu na takim przykładzie.
class Array
def to_annotated_xml(root)
output = "<#{root}>"
each do |i|
if i.is_a?(Fixnum)
output << "<number>#{i}</number>"
elsif i.is_a?(String)
if i.match(/@/)
output << "<email>#{i}</email>"
else
output << "<string>#{i}</string>"
end
else
output << "<value>#{i}</value>"
end
end
output << "</#{root}>"
end
end
p [1, "Stephen", "stephenb@reallyenglish.com"].to_annotated_xml("person")
Na razie doszedłem do czegoś takiego: https://gist.github.com/mdoliwa/95bb0f4de8aaffefa93c087e77f6e264
Będę wdzięczny za komentarze, czy jest ok, co robię źle, czy to może przerost formy nad treścią i czy jest jakiś fajny patent na pozbycie się tego brzydkiego ifa
z 71 linijki.