2006-09-11
[プラポケ][Rails]グレード別のスケジューリング
実装が面倒だと思っていたけどこれだけでいいかも。 プレイヤーの grade は対戦後ポイントに応じて設定しておく。
def grade_is(grade)
{ :find => {:conditions => ["grade = ?", grade]},
:create => {:grade => grade }, }
end
def create_schedules
grade_max = 3
(0..grade_max).each do |grade|
Schedule.with_scope(grade_is(grade)) {
Player.with_scope(grade_is(grade)) { _create_schedules }
}
end
end
Ruby会議で舞波たんに教えてもらって以来お気に入りの with_scope 。 こうやってネストして書くしかないのかな。