Class: Contracts::Maybe

Inherits:
Or show all
Defined in:
lib/contracts/builtin_contracts.rb

Overview

Takes a Contract. The contract passes if the contract passes or the given value is nil. Maybe(foo) is equivalent to Or[foo, nil].

Instance Method Summary collapse

Methods inherited from Or

#test_data, #testable?, #to_s, #valid?

Methods inherited from CallableClass

[]

Constructor Details

#initialize(*vals) ⇒ Maybe

Returns a new instance of Maybe.



342
343
344
# File 'lib/contracts/builtin_contracts.rb', line 342

def initialize(*vals)
  super(*(vals + [nil]))
end