9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/role_authorization/controller/ruleset.rb', line 9
def cattr_ruleset(*syms)
syms.each do |sym|
class_eval(<<-EOS, __FILE__, __LINE__ + 1)
def self.#{sym}
@@#{sym} ||= Hash.new
@@#{sym}
end
def self.#{sym}=(obj)
@@#{sym} ||= Hash.new
@@#{sym} = obj
end
def self.add_to_#{sym}(name, set = nil, &block)
ruleset = self.#{sym}
if block_given?
ruleset[name] = RoleAuthorization::Mapper.new
ruleset[name].instance_eval(&block)
elsif !set.nil?
ruleset[name] = set
end
self.#{sym} = ruleset
end
EOS
end
end
|