Class: MaybeOf

Inherits:
Contracts::CallableClass
  • Object
show all
Defined in:
lib/maybe.rb

Instance Method Summary collapse

Constructor Details

#initialize(*values) ⇒ MaybeOf

Returns a new instance of MaybeOf.



4
5
6
# File 'lib/maybe.rb', line 4

def initialize(*values)
  @values = values
end

Instance Method Details

#valid?(obj) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/maybe.rb', line 8

def valid?(obj)
  obj.is_a?(Nothing) || obj.is_a?(Just) && @values.any? {|v| Contract.valid?(obj.get, v) }
end