Module: OMQ::QoS::OptionsExt

Defined in:
lib/omq/qos/options_ext.rb

Overview

Prepended onto Options once omq-qos is loaded. Changes the semantics of Options#qos from "an Integer level" to "nil or an OMQ::QoS instance":

options.qos        # => nil     (QoS 0, default)
options.qos        # => <OMQ::QoS level=2 ...>
options.qos_level  # => 0, 1, 2, or 3 (convenience Integer)

The Integer form is still accepted by callers that never loaded omq-qos — core omq keeps the Integer default. Once this extension is installed the default resets to nil.

Instance Method Summary collapse

Instance Method Details

#initialize(**kwargs) ⇒ Object



18
19
20
21
# File 'lib/omq/qos/options_ext.rb', line 18

def initialize(**kwargs)
  super
  @qos = nil
end

#qos_levelInteger

Convenience: 0 / 1 / 2 / 3. nil-safe.

Returns:

  • (Integer)


27
28
29
# File 'lib/omq/qos/options_ext.rb', line 27

def qos_level
  @qos&.level || 0
end