Sha256: 6ff106f2897fd5b4bf94e12933dccb4cc77611c8745555b1ed9bf26748b578fa

Contents?: true

Size: 973 Bytes

Versions: 14

Compression:

Stored size: 973 Bytes

Contents

module BillForward
	class TypeCheck
		# ensure that the provided object extends the expected class
		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
		# ensure that the provided class extends the expected class
		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
	end

	class AbstractInstantiateError < StandardError
	end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
bill_forward-2.2016.241 lib/bill_forward/type_check.rb
bill_forward-2.2016.227 lib/bill_forward/type_check.rb
bill_forward-2.2016.222 lib/bill_forward/type_check.rb
bill_forward-2.2016.209 lib/bill_forward/type_check.rb
bill_forward-1.2016.117 lib/bill_forward/type_check.rb
bill_forward-1.2016.101 lib/bill_forward/type_check.rb
bill_forward-1.2016.26 lib/bill_forward/type_check.rb
bill_forward-1.2015.321.1 lib/bill_forward/type_check.rb
bill_forward-1.2015.321 lib/bill_forward/type_check.rb
bill_forward-1.2015.299 lib/bill_forward/type_check.rb
bill_forward-1.2015.217.1 lib/bill_forward/type_check.rb
bill_forward-1.2015.217 lib/bill_forward/type_check.rb
bill_forward-1.2015.186 lib/bill_forward/type_check.rb
bill_forward-1.2015.183 lib/bill_forward/type_check.rb