Module: ExcADG::Assertions

Defined in:
lib/excadg/assertions.rb

Overview

collection of simple assertions

Class Method Summary collapse

Class Method Details

.is_a?(vars, clss) ⇒ Boolean

asserts that all vars are instances of one of the clss

Returns:

  • (Boolean)


8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/excadg/assertions.rb', line 8

def is_a? vars, clss
  return if vars.is_a?(Array) && clss == Array

  clss = [clss] unless clss.is_a? Array
  vars = [vars] unless vars.is_a? Array
  wrong_vars = vars.reject { |var|
    clss.any? { |cls|
      var.is_a? cls
    }
  }
  raise "vars #{wrong_vars} not of classes #{clss}" unless wrong_vars.empty?
end