Takes a variable number of contracts. The contract passes if all contracts
pass. Example: And[Fixnum, Float]
# File lib/contracts/builtin_contracts.rb, line 143 def initialize(*vals) @vals = vals end
# File lib/contracts/builtin_contracts.rb, line 154 def to_s @vals[0, @vals.size-1].map do |x| InspectWrapper.create(x) end.join(", ") + " and " + InspectWrapper.create(@vals[-1]).to_s end
# File lib/contracts/builtin_contracts.rb, line 147 def valid?(val) @vals.all? do |contract| res, _ = Contract.valid?(val, contract) res end end