class Object

@private

Public Class Methods

raise_or_default(exc_type, msg, *args) click to toggle source
# File lib/rubirai/utils.rb, line 57
def self.raise_or_default(exc_type, msg, *args)
  if exc_type.nil?
    raise(msg)
  else
    raise(exc_type, *args)
  end
end

Public Instance Methods

must_be!(types, exc_type = nil, *args) click to toggle source
# File lib/rubirai/utils.rb, line 37
def must_be!(types, exc_type = nil, *args)
  ok = case types
       when Array
         types.any? { |type| is_a? type }
       else
         is_a? types
       end
  self.class.raise_or_default exc_type, "assert failed: `#{self}' must be of type #{types}", *args unless ok
end
must_be_one_of!(things, exc_type = nil, *args) click to toggle source
# File lib/rubirai/utils.rb, line 47
def must_be_one_of!(things, exc_type = nil, *args)
  ok = case things
       when Array
         things.include? self
       else
         self == things
       end
  self.class.raise_or_default exc_type, "assert failed: `#{self}' must be one of: #{things}", *args unless ok
end