Module: RoleAuthorization::Ruleset::ClassMethods

Defined in:
lib/role_authorization/controller/ruleset.rb

Instance Method Summary collapse

Instance Method Details

#cattr_ruleset(*syms) ⇒ Object



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("      def self.\#{sym}\n        @@\#{sym} ||= Hash.new\n        @@\#{sym}\n      end\n\n      def self.\#{sym}=(obj)\n        @@\#{sym} ||= Hash.new\n        @@\#{sym} = obj\n      end\n\n      def self.add_to_\#{sym}(name, set = nil, &block)\n        ruleset = self.\#{sym}\n        if block_given?\n          ruleset[name] = RoleAuthorization::Mapper.new\n          ruleset[name].instance_eval(&block)\n        elsif !set.nil?\n          ruleset[name] = set\n        end\n        self.\#{sym} = ruleset\n      end\n    EOS\n  end\nend\n", __FILE__, __LINE__ + 1)