class Thy::Types::ClassExtending

Public Class Methods

new(klass) click to toggle source
# File lib/thy/types/class_extending.rb, line 6
def initialize(klass)
  @klass = klass
end

Public Instance Methods

check(value) click to toggle source
# File lib/thy/types/class_extending.rb, line 10
def check(value)
  unless value.is_a?(::Class)
    return Failure.new("Expected #{value.inspect} to be a Class")
  end

  if value.ancestors.include?(@klass)
    Result::Success
  else
    Result::Failure.new(
      "Expected #{value.inspect} to be a descendant of: #{@klass.inspect}",
    )
  end
end