class Bali::Ruler
This class represents all roles, and its rules, for a resource
Attributes
model_class[R]
roles[RW]
Public Class Methods
for(record_class)
click to toggle source
# File lib/bali/ruler.rb, line 8 def self.for(record_class) rule_class = Bali::Rules.for(record_class) rule_class.ruler if rule_class end
new(model_class)
click to toggle source
# File lib/bali/ruler.rb, line 13 def initialize(model_class) @model_class = model_class @roles = {} @roles[nil] = Bali::Role.new(nil) end
Public Instance Methods
<<(role)
click to toggle source
# File lib/bali/ruler.rb, line 19 def << role @roles[role.name] = role end
[](role)
click to toggle source
# File lib/bali/ruler.rb, line 23 def [] role symbolized_role = role.to_sym if role @roles[symbolized_role] end
find_or_create_role(role_name)
click to toggle source
# File lib/bali/ruler.rb, line 28 def find_or_create_role role_name role = self[role_name] if role.nil? role = Bali::Role.new(role_name) self << role end role end