Module: RubyLLM::Instructor::Utils

Defined in:
lib/ruby_llm/instructor/utils.rb

Class Method Summary collapse

Class Method Details

.dry_contract?(klass) ⇒ Boolean

Returns true when klass is a Dry::Validation::Contract subclass. Safely returns false when dry-validation is not loaded or klass is not a class (e.g. an instance, a module, or a Data object).

Returns:

  • (Boolean)


9
10
11
12
13
14
15
# File 'lib/ruby_llm/instructor/utils.rb', line 9

def dry_contract?(klass)
  !!(defined?(Dry::Validation::Contract) &&
     klass.is_a?(Class) &&
     klass < Dry::Validation::Contract)
rescue TypeError
  false
end