Class: Mon::Contract::List

Inherits:
MonadContract
  • Object
show all
Defined in:
lib/contracts/list.rb

Instance Method Summary collapse

Methods inherited from MonadContract

#initialize, #nested_contract, #to_s, #valid_nested_contract?

Constructor Details

This class inherits a constructor from Mon::Contract::MonadContract

Instance Method Details

#valid?(val) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
# File 'lib/contracts/list.rb', line 16

def valid?(val)
  # Should be a List whose elements satisfy the given contract
  val.is_a?(Mon::M::List) and (val._.all? { |el| valid_nested_contract?(el) })
end