Files
fil/docs/snippets/ruby/plugins/stateful_plugin.md
Henrik Jess Nielsen b4c07d3693
All checks were successful
Deploy fil (kreuzberg) / deploy (push) Successful in 49s
Nomad changes
2026-06-01 23:40:55 +02:00

515 B

require 'kreuzberg'

class StatefulPlugin
  def initialize
    @lock = Mutex.new
    @count = 0
  end

  def call(result)
    @lock.synchronize { @count += 1 }
    result
  end

  def count
    @lock.synchronize { @count }
  end
end

plugin = StatefulPlugin.new
Kreuzberg.register_post_processor('counter', plugin)

config = Kreuzberg::ExtractionConfig.new(
  postprocessor: { enabled: true }
)

Kreuzberg.extract_file_sync('document.pdf', config: config)
puts "Processed: #{plugin.count}"