Module: Controlist

Defined in:
lib/controlist.rb,
lib/controlist/errors.rb,
lib/controlist/version.rb,
lib/controlist/permission.rb,
lib/controlist/interceptor.rb,
lib/controlist/managers/base_manager.rb,
lib/controlist/permissions/constrain.rb,
lib/controlist/permissions/operation.rb,
lib/controlist/permissions/ordered_package.rb,
lib/controlist/permissions/simple_constrain.rb,
lib/controlist/managers/thread_based_manager.rb,
lib/controlist/permissions/advanced_constrain.rb

Defined Under Namespace

Modules: Managers, Permissions Classes: ControlistError, Interceptor, NoPermissionError, NotReuseableError, Permission, PermissionForbidden

Constant Summary collapse

VERSION =
"0.2.1"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.attribute_proxyObject

Returns the value of attribute attribute_proxy.



11
12
13
# File 'lib/controlist.rb', line 11

def attribute_proxy
  @attribute_proxy
end

.loggerObject

Returns the value of attribute logger.



11
12
13
# File 'lib/controlist.rb', line 11

def logger
  @logger
end

.permission_providerObject

Returns the value of attribute permission_provider.



11
12
13
# File 'lib/controlist.rb', line 11

def permission_provider
  @permission_provider
end

.value_object_proxyObject

Returns the value of attribute value_object_proxy.



11
12
13
# File 'lib/controlist.rb', line 11

def value_object_proxy
  @value_object_proxy
end

Class Method Details

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



13
14
15
16
17
18
19
# File 'lib/controlist.rb', line 13

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

.is_activerecord3?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/controlist.rb', line 27

def is_activerecord3?
  ActiveRecord::VERSION::MAJOR == 3
end

.skipObject



21
22
23
24
25
# File 'lib/controlist.rb', line 21

def skip
  @permission_provider.open_skip
  yield
  @permission_provider.close_skip
end