Module: Wooster
- Defined in:
- lib/wooster/base.rb,
lib/wooster/version.rb
Defined Under Namespace
Modules: Policy
Classes: FieldPermissions, InvalidCreateError, InvalidDeleteError, InvalidFieldWriteError, InvalidUpdateError, RecordPermissions
Constant Summary
collapse
- VERSION =
"0.0.4"
Class Method Summary
collapse
Class Method Details
.any_permission?(permissions, object) ⇒ Boolean
21
22
23
|
# File 'lib/wooster/base.rb', line 21
def self.any_permission?(permissions, object)
permissions.any?{|func| Wooster.controller_exec(func,object)}
end
|
.controller_exec(block, *args) ⇒ Object
18
19
20
|
# File 'lib/wooster/base.rb', line 18
def self.controller_exec(block, *args)
Thread.current[:wooster_controller].instance_exec *args,&block
end
|
.init_policy(klass) ⇒ Object
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/wooster/base.rb', line 4
def self.init_policy(klass)
if klass.class_variable_defined? :@@wooster_field
raise RuntimeError
end
klass.cattr_accessor :wooster_records
klass.cattr_accessor :wooster_field
x = Hash.new
x.default_proc = Proc.new do |hash, key|
hash[key] = FieldPermissions.new([],[])
end
klass.wooster_records = RecordPermissions.new([],[],[],[])
klass.wooster_field = x
end
|