module Royce::Macros::ClassMethods
Attributes
available_role_names[R]
Public Instance Methods
royce_roles(roles)
click to toggle source
How a class opts in to roller Pass an array of roles
# File lib/royce/macros.rb, line 9 def royce_roles(roles) role_strings = roles.map(&:to_s) confirm_roles_exist role_strings # Work in singleton class # Add a read-only class variable to all classes that call `royce_roles` class << self attr_reader :available_role_names end @available_role_names = role_strings include Royce::ClassMethods include Royce::Methods end
Private Instance Methods
confirm_roles_exist(role_names)
click to toggle source
Pre-create Role
objects when file is loaded
# File lib/royce/macros.rb, line 29 def confirm_roles_exist(role_names) # Wait until the actual tables exist return unless ActiveRecord::Base.connection.table_exists? 'royce_role' role_names.each do |name| Role.find_or_create_by(name: name) end end