って機能あるよね?ActiveRecordとかそこらへんに。
ということで、自分でどうやってやってるのか考えてみた。
ハッシュを受け取って、そのkeyをもとにセットするメソッド呼べばいいので…
module HashInitializable def initialize hash = nil unless hash return end hash.each do |k, v| self.send "#{k}=", v end end end class Hoge include HashInitializable attr_accessor :name, :age end h = Hoge.new :name => "Taro", :age => 12 puts "#{h.name} #{h.age}"
こんなんかな?
一応ちゃんとTaro 12と出力される。