ActsAsRolePermittable 拡張 (1)

ロールベースに基づいたパーミッション設定が可能なモデルを作っています。
実際の使用イメージ。

class SecureModel < ActiveRecord::Base
   acts_as_role_permittbale # point 0
end

model = SecureModel.create(...)

# 基本
# モデルに対して "index" という操作が許可/禁止されているかどうか
model.role_permissions("index").anonymous = true
model.role_permissions("index").roles      = {}_
model.role_permissions("index").permit?(user1) #=> true

model.role_permissions("index").anonymous = false
model.role_permissions("index").roles      =  {:administrators}
model.role_permissions("index").permit?(user1) #=> false
model.role_permissions("index").permit?(admin) #=> true

# ちょっと短く
# パーミッションキーが不要な場合(= モデルに対して、許可/禁止の2通りしかない場合)
model.permit_anonymous = false      
model.permit_roles      = {...}}
model.permit?(user)                  # point1
model.permit?(user, key)            

ポイントは

  1. acts_as で実現する意味
  2. permit? とか他のactsとかぶりそうだけど?

といったところです。