Class: Contracts::Builtin::RangeOf
- Inherits:
-
CallableClass
- Object
- CallableClass
- Contracts::Builtin::RangeOf
- Defined in:
- lib/contracts/builtin_contracts.rb
Overview
Use this to specify a Range object of a particular datatype. Example: RangeOf[Nat], RangeOf[Date], …
Instance Method Summary collapse
-
#initialize(contract) ⇒ RangeOf
constructor
A new instance of RangeOf.
- #to_s ⇒ Object
- #valid?(val) ⇒ Boolean
Methods inherited from CallableClass
Constructor Details
#initialize(contract) ⇒ RangeOf
Returns a new instance of RangeOf.
352 353 354 |
# File 'lib/contracts/builtin_contracts.rb', line 352 def initialize(contract) @contract = contract end |
Instance Method Details
#to_s ⇒ Object
362 363 364 |
# File 'lib/contracts/builtin_contracts.rb', line 362 def to_s "a range of #{@contract}" end |
#valid?(val) ⇒ Boolean
356 357 358 359 360 |
# File 'lib/contracts/builtin_contracts.rb', line 356 def valid?(val) val.is_a?(Range) && Contract.valid?(val.first, @contract) && Contract.valid?(val.last, @contract) end |