Вы можете поставить сексуальную леди поверх нее:
# ___
# _ _.-"_< }
# ""--"" 7(
# /())
# / )/
# ^ ( \
# / /
# /.'
# //
# ______/L___ sexii
def self.from_csv(data)
#...
end
Но, если серьезно, единственная проблема, которую я вижу в вашем коде, состоит в том, что вы не можете легко изменить атрибуты, потому что выпридется вручную обновить все индексы.Я бы предпочел иметь упорядоченный список атрибутов в массиве и использовать динамический метод вызова некоторых Ruby:
def self.from_csv(data)
company = new
row = CSV.parse_line(data)
[:name, :street, :street_number, :apartament_number,
:city, :post_code, :post_office_city,
:nip, :regon, :vatin].each_with_index do |name, i|
company.send(:"#{name}=", row[i])
end
company
end
Также обратите внимание, что вам нужно вернуть созданный экземпляр компании в конце, иначе вы получите некоторыеслучайное значение при вызове Company.from_csv
.