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