class Bali::Rules

Attributes

current_role[W]
ruler[R]

Public Class Methods

for(record_class) click to toggle source
# File lib/bali/rules.rb, line 20
def self.for(record_class)
  rule_maker_cls_str = "#{record_class}#{Bali.config.suffix}"
  rule_maker_cls_str.safe_constantize
end
inheritable_role() click to toggle source
# File lib/bali/rules.rb, line 48
def self.inheritable_role
  ruler[nil]
end
model_class() click to toggle source
# File lib/bali/rules.rb, line 25
def self.model_class
  class_name = to_s
  suffix = Bali.config.suffix
  rule_class_maker_str = class_name[0...class_name.length - suffix.length]
  rule_class_maker_str.constantize
end
role(*role_names, &block) click to toggle source
# File lib/bali/rules.rb, line 32
def self.role(*role_names, &block)
  role_names.each do |role_name|
    if Bali::Role::IDENTIFIER_CLASSES.include?(role_name.class)
      role = ruler.find_or_create_role role_name
      role.instance_eval(&block)
    else
      raise Bali::DslError, "Cannot define role using #{param.class}. " +
        "Please use either a Symbol, a String or nil"
    end
  end
end