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

30 lines
515 B
Markdown

```ruby title="Ruby"
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}"
```