Sha256: 4e7da821101049a672540306b93d5a71c034a945b6f4cf7beeabdd0a236d86e4

Contents?: true

Size: 721 Bytes

Versions: 1

Compression:

Stored size: 721 Bytes

Contents

module Troles::Common
  class Config
    module ValidRoles
      def add_valid_roles *roles
        valid_roles =valid_roles & roles
      end

      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

      def valid_roles
        raise "No valid roles defined" if !@valid_roles || @valid_roles.empty?
        @valid_roles
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
troles-0.5.2 lib/troles/common/config/valid_roles.rb