Class: Thy::Types::ClassExtending
- Inherits:
-
Object
- Object
- Thy::Types::ClassExtending
- Defined in:
- lib/thy/types/class_extending.rb
Instance Method Summary collapse
- #check(value) ⇒ Object
-
#initialize(klass) ⇒ ClassExtending
constructor
A new instance of ClassExtending.
Constructor Details
#initialize(klass) ⇒ ClassExtending
Returns a new instance of ClassExtending.
6 7 8 |
# File 'lib/thy/types/class_extending.rb', line 6 def initialize(klass) @klass = klass end |
Instance Method Details
#check(value) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 |
# 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 |