eine hashmap, wie zu haben:Mit einem Hash, setzten Objekteigenschaften in Ruby
{:foo => 1, :bar => 2}
in Ruby, ist es eine einfache Möglichkeit, diese Werte als Eigenschaften des Objekts zuweisen, um automatisch das verursachen passieren :
obj.foo = 1
obj.bar = 2
präzise, einige Rubin-idiomatische Weise des Tuns zu sein:
hashmap.each { |k,v| obj.send("#{k}=", v) }
obj ist ein Objekt, das nicht der Fall ist erben ActiveModel und es ist kein Struct, und ich kann seinen Typ nicht steuern, da er von einer Third-Party-Bibliothek kommt.
Ich verwende Rails, also wenn die Antwort von Rails kommt, ist das akzeptabel.
Nun, es hängt von dem, was 'obj' ... zum Beispiel, wenn es sich um eine Active Instanz können Sie tun' obj.attributes = hashmap' – mdesantis
ich für Ihre Frage denke, ein Struct könnte sein, was Sie sind Auf der Suche nach. http://ruby-doc.org/core-2.2.0/Struct.html –
obj ist ein Objekt einer dritten Klasse, die bereits existiert. Ich habe die Frage aktualisiert, um das zu berücksichtigen. – Pablo