rosa-build/app/models/right.rb

22 lines
498 B
Ruby

class Right < ActiveRecord::Base
before_save :generate_name
scope :for_controller, lambda { |cont| {:conditions => ['controller = ?', cont.controller_name]}}
class << self
def by_controller
all.inject({}) do |h, i|
h[i.controller] ||= []
h[i.controller] << i
h
end
end
end
protected
NAME_TEMPL = 'Right to perform %s action.'
def generate_name
self.name = sprintf(NAME_TEMPL, action) unless name and name.size == 0
end
end