Как в Ruby красиво записать присвоение значение массива объекту?

Я только начинающий рубист

obj.fio = data_after["fio"]
obj.phone = data_after["phone"]
obj.email = data_after["email"]
obj.address= data_after["address"]
obj.skype = data_after["skype"]
...

Не знаю как, но думаю в ruby точно есть способ более элегантно записать присвоение значение массива объекту, когда ключ массива это название свойства объекта
  • Вопрос задан
  • 150 просмотров
Пригласить эксперта
Ответы на вопрос 1
@evgeniy_trebin
Ruby on Rails developer
class MyClass
  attr_accessor :name, :surname, :email
end

obj = MyClass.new

hash = {name: 'Ivan', surname: 'Ivanov', email: 'ivan@ivanov.com'}

hash.each do |key, value|
  obj.public_send(%Q{#{key}=}, value) if obj.respond_to?(%Q{#{key}=})
end
p obj # => #<MyClass:0x007f9a4c11c478 @name="Ivan", @surname="Ivanov", @email="ivan@ivanov.com">
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы