class Contracts::Builtin::DescendantOf

Use this for specifying contracts for class arguments Example: DescendantOf[ e: Range, f: Optional[Num] ]

Attributes

parent_class[R]

Public Class Methods

new(parent_class) click to toggle source
Calls superclass method
# File lib/contracts/builtin_contracts.rb, line 474
def initialize(parent_class)
  super()
  @parent_class = parent_class
end

Public Instance Methods

inspect() click to toggle source
# File lib/contracts/builtin_contracts.rb, line 487
def inspect
  to_s
end
to_s() click to toggle source
# File lib/contracts/builtin_contracts.rb, line 483
def to_s
  "DescendantOf[#{parent_class}]"
end
valid?(given_class) click to toggle source
# File lib/contracts/builtin_contracts.rb, line 479
def valid?(given_class)
  given_class.is_a?(Class) && given_class.ancestors.include?(parent_class)
end