モデル内のアクセサーを反復することは可能ですか?
次のようなモデルがあります。
class Account < User
#Required fields
attr_accessor :email, :first_name, :last_name, :organizations
end
次のようなJSONが返されます
@name : email
@value : nick@nick.com
@name : first_name
@value : nick
次のようなコードがたくさんあります。
unless(item.Field["@name"].to_s.match('E-mail').nil?)
@account_new.email = item.Field["@value"].to_s
end
unless(item.Field["@name"].to_s.match('First Name').nil?)
@account_new.first_name = item.Field["@value"].to_s
end
これはひどいコードです。モデルのアクセサーを反復処理してアクセサーの名前を取得し、それを使用して JSON オブジェクトのパターン マッチを行い、代入を行うことは可能でしょうか?
.instance_variables.each do |variable| を使ってみた
しかし、思ったようにうまくいかないようです。これを行うより良い方法はありますか?