module Troles::Common::Config::ValidRoles

Public Instance Methods

add_valid_roles(*roles) click to toggle source

Add a list of valid roles @param [Array<Symbol>] names of roles to make valid

# File lib/troles/common/config/valid_roles.rb, line 12
def add_valid_roles *roles
  valid_roles =valid_roles & roles
end
valid_roles() click to toggle source

Get the list of valid roles @return [Array<Symbol>] names of roles that are currently valid

# File lib/troles/common/config/valid_roles.rb, line 28
def valid_roles
  raise "No valid roles defined" if !@valid_roles || @valid_roles.empty?
  @valid_roles
end
valid_roles=(*roles) click to toggle source

Set a list of valid roles @param [Array<Symbol>] names of roles to make valid

# File lib/troles/common/config/valid_roles.rb, line 18
def valid_roles= *roles
  vrs = roles.flatten.map{|r| r.to_s.alpha_numeric}.map(&:to_sym).uniq

  raise ArgumentError, "The #{strategy} strategy can only accept 2 valid roles" if (vrs.size > 2) && strategy == :bit_one
  raise ArgumentError, "The role names you want to be valid are not valid role names. Must be alphanumeric, was: #{roles.flatten}" if vrs.empty?
  @valid_roles ||= vrs
end