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