Use this for specifying contracts for class arguments Example:
Descendant[ e: Range, f: Optional[Num] ]
# File lib/contracts/builtin_contracts.rb, line 446 def initialize(parent_class) @parent_class = parent_class end
# File lib/contracts/builtin_contracts.rb, line 458 def inspect to_s end
# File lib/contracts/builtin_contracts.rb, line 454 def to_s "DescendantOf[#{parent_class}]" end
# File lib/contracts/builtin_contracts.rb, line 450 def valid?(given_class) given_class.is_a?(Class) && given_class.ancestors.include?(parent_class) end