Method: Controlist.initialize

Defined in:
lib/controlist.rb

.initialize(permission_manager, config = {}) ⇒ Object

example:

Controlist.initialize Controlist::Managers::ThreadBasedManager
    attribute_proxy: "_val",
    value_object_proxy: "_value_object",
    logger: Logger.new(STDOUT)

attribute_proxy and value_object_proxy are to avoid ActiveModel::MissingAttributeError due to select(attributes) according to constrains, suppose attribute_proxy is :_val, value_object_proxy is :_value_object

user = User.find 1
user.id
user._val(:attr_might_not_be_accessed)
user._value_object.attr_might_not_be_accessed


28
29
30
31
32
33
34
# File 'lib/controlist.rb', line 28

def initialize(permission_manager, config={})
  @permission_manager = permission_manager
  @attribute_proxy = config[:attribute_proxy] || "_val"
  @value_object_proxy = config[:value_object_proxy] || "_value_object"
  @logger = config[:logger] || Logger.new(STDOUT)
  Interceptor.hook
end