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 
    check_model_access :transfer # raise a exception if not allowed
    ....
  end

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

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 permission
   = Thread.current[:login_contex]
  unless AccessRules.model_access? , self, permission
    raise SecurityError, "Access denied! Current login_contex have no permission '#{permission}' on Model-Object #{self}."
  end
end