class Contracts::Builtin::Exactly

Takes a class A. If argument is object of type A, the contract passes. If it is a subclass of A (or not related to A in any way), it fails. Example: Exactly[Numeric]

Public Class Methods

new(cls) click to toggle source
Calls superclass method
# File lib/contracts/builtin_contracts.rb, line 219
def initialize(cls)
  super()
  @cls = cls
end

Public Instance Methods

to_s() click to toggle source
# File lib/contracts/builtin_contracts.rb, line 228
def to_s
  "exactly #{@cls.inspect}"
end
valid?(val) click to toggle source
# File lib/contracts/builtin_contracts.rb, line 224
def valid?(val)
  val.instance_of?(@cls)
end