ruby Arrayでfindするときに初期値が欲しい時はProc.newの引数に値を渡す。
Arrayでfindするときに初期値が欲しい時はProc.newの引数に値を渡す。
Arrayがfindしたときに、要素がない場合に呼ばれるオブジェクトをifnoneという引数で渡してあげることで、渡されたオブジェクトのcallが呼ばれます。
callを持つインスタンスを渡してあげればよいのです。
ary.find(ifnone=Proc.new{{}}) { |item| item.id=="hoge1" }