Files
fil/docs/snippets/ruby/plugins/min_length_validator.md

33 lines
879 B
Markdown
Raw Permalink Normal View History

2026-06-01 23:40:55 +02:00
```ruby title="Ruby"
require "kreuzberg"
# Custom validator ensuring extracted content meets minimum length requirement
class MinLengthValidator
def initialize(min_length: 100)
@min_length = min_length
end
def call(result)
content_length = result["content"].length
if content_length < @min_length
raise StandardError,
"Content too short: #{content_length} < #{@min_length}"
end
end
end
# Register the validator with priority
validator = MinLengthValidator.new(min_length: 100)
Kreuzberg.register_validator("min_length_validator", validator, 100)
# Usage in extraction
config = Kreuzberg::ExtractionConfig.new
begin
result = Kreuzberg.extract_file_sync("document.pdf", config: config)
puts "Extraction successful: #{result["content"].length} characters"
rescue StandardError => e
puts "Validation failed: #{e.message}"
end
```