出沢です

ある処理が許されているか否かを返すメソッドを作っているのですが、
ユーザとステータスの組み合わせで複雑になるため case や if で書くと
書いている本人もそれでよいのか分かりにくくなり何とかしたいと思っています。

で、次の様な事を考えています。

Deletable = { # userroll_id  statsu
                1         => [true,    true, false ],
                2         => [色々あり,複雑, true  ]
            }
def deletable?
   Deletable[userroll_id][status]
end
	      
「色々あり」、とか「複雑」 というところは user と status だけでは
決まらないので、method を呼んでその結果を返すというしかけです。

def complrex; 複雑 ;end なるメソッドを呼ぶように定義するにはどうしたら良いでしょうか。

実際には Rails2.3.2 で実装していますので、メソッドその物はシンボルで
呼べる(はず?)なので
eletable = { # userroll_id  statsu
                1         => [true,    true, false ],
                2         => [:moromoro ,:comprex, true  ]
            }

とやってみましたら "comprex" が帰ってきてしまいました。

とりあえずは

Deletable = { # userroll_id  statsu
                1         => [:true,    :true, :false ],
                2         => [色々あり,複雑,   :true  ]
            }

として
  case  Deletable[user][status]
  when  :true
    :
    :
の様に逃げていますが今ひとつ美しくない。。。

よろしくお願いします