Class: BillForward::TypeCheck

Inherits:
Object
  • Object
show all
Defined in:
lib/bill_forward/type_check.rb

Class Method Summary collapse

Class Method Details

.verifyClass(expectedClass, actualClass, argName) ⇒ Object

ensure that the provided class extends the expected class

Raises:

  • (TypeError)


11
12
13
14
15
16
# File 'lib/bill_forward/type_check.rb', line 11

def self.verifyClass(expectedClass, actualClass, argName)
  expectedClassName = expectedClass.name
  actualClassName = actualClass.name
  raise TypeError.new("Expected instance of '#{expectedClassName}' at argument '#{argName}'. "+
  "Instead received: '#{actualClassName}'") unless actualClass<=expectedClass || (defined?(RSpec) && actualClass<=RSpec::Mocks::Double)
end

.verifyObj(expectedClass, obj, argName) ⇒ Object

ensure that the provided object extends the expected class

Raises:

  • (TypeError)


4
5
6
7
8
9
# File 'lib/bill_forward/type_check.rb', line 4

def self.verifyObj(expectedClass, obj, argName)
  expectedClassName = expectedClass.name
  actualClassName = obj.class.name
  raise TypeError.new("Expected instance of '#{expectedClassName}' at argument '#{argName}'. "+
  "Instead received: '#{actualClassName}'") unless obj.kind_of?(expectedClass) || (defined?(RSpec) && obj.kind_of?(RSpec::Mocks::Double))
end