Class: BillForward::TypeCheck
- Inherits:
-
Object
- Object
- BillForward::TypeCheck
- Defined in:
- lib/bill_forward/type_check.rb
Class Method Summary collapse
-
.verifyClass(expectedClass, actualClass, argName) ⇒ Object
ensure that the provided class extends the expected class.
-
.verifyObj(expectedClass, obj, argName) ⇒ Object
ensure that the provided object extends the expected class.
Class Method Details
.verifyClass(expectedClass, actualClass, argName) ⇒ Object
ensure that the provided class extends the expected class
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
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 |