class Contracts::Builtin::RangeOf

Use this to specify a Range object of a particular datatype. Example: RangeOf[Nat], RangeOf[Date], …

Public Class Methods

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

Public Instance Methods

to_s() click to toggle source
# File lib/contracts/builtin_contracts.rb, line 377
def to_s
  "a range of #{@contract}"
end
valid?(val) click to toggle source
# File lib/contracts/builtin_contracts.rb, line 371
def valid?(val)
  val.is_a?(Range) &&
    Contract.valid?(val.first, @contract) &&
    Contract.valid?(val.last,  @contract)
end