Module: Tuersteher::ModelExtensions
- Defined in:
- lib/tuersteher.rb
Overview
Module for include in Model-Object-Classes
The module get the login_contex from Thread.current
Sample for ActiveRecord-Class
class Sample < ActiveRecord::Base
include Tuersteher::ModelExtensions
def transfer_to account
check_model_access :transfer # raise a exception if not allowed
....
end
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
-
#check_access(permission) ⇒ Object
Check permission for the Model-Object.
Class Method Details
.included(base) ⇒ Object
373 374 375 |
# File 'lib/tuersteher.rb', line 373 def self.included(base) base.extend ClassMethods end |
Instance Method Details
#check_access(permission) ⇒ Object
Check permission for the Model-Object
permission the requested permission (sample :create, :update, :destroy, :get)
raise a SecurityError-Exception if access denied
366 367 368 369 370 371 |
# File 'lib/tuersteher.rb', line 366 def check_access login_contex = Thread.current[:login_contex] unless AccessRules.model_access? login_contex, self, raise SecurityError, "Access denied! Current login_contex have no permission '#{permission}' on Model-Object #{self}." end end |