Module: Wurk::API::Fast::SortedSetExt
- Included in:
- SortedSet
- Defined in:
- lib/wurk/api/fast.rb
Overview
Extension to Wurk::SortedSet / JobSet. The base ‘scan(match, count)` already yields `(value, score)` pairs via ZSCAN — Pro promotes the surface to yield `JobRecord` directly so callers can `entry.delete` / `entry.retry` without re-parsing JSON.
The new behavior is enabled by *block arity*: a 1-arg block (or block.lambda? + a 1-param signature) receives ‘JobRecord`; legacy 2-arg blocks (`|value, score|`) keep the raw shape. This preserves the existing two-arg contract used by JobSet#find_job internally.
Instance Method Summary collapse
Instance Method Details
#scan(match, count = 100, &block) ⇒ Object
61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/wurk/api/fast.rb', line 61 def scan(match, count = 100, &block) return enum_for(:scan, match, count) unless block if block.arity == 1 super do |value, score| block.call(Wurk::SortedEntry.new(self, score, value)) end else super end end |