Class: Basquiat::Adapters::RabbitMq::Configuration
- Inherits:
-
Object
- Object
- Basquiat::Adapters::RabbitMq::Configuration
- Defined in:
- lib/basquiat/adapters/rabbitmq/configuration.rb
Overview
Responsible for dealing with the overall configuration of the RabbitMQ adapter
Instance Method Summary collapse
- #base_options ⇒ Object
-
#connection_options ⇒ Hash
The connection options.
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
-
#merge_user_options(**user_opts) ⇒ Hash
Merges the user supplied options with the base ones.
-
#session_options ⇒ Hash
The session options.
-
#strategy ⇒ BaseStrategy
The requeue strategy or BasicAcknowledge if none is configured.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/basquiat/adapters/rabbitmq/configuration.rb', line 10 def initialize @options = { connection: { hosts: ['localhost'], port: 5672, auth: { user: 'guest', password: 'guest' } }, queue: { name: Basquiat.configuration.queue_name, durable: true, options: {} }, exchange: { name: Basquiat.configuration.exchange_name, durable: true, options: {} }, publisher: { confirm: true, persistent: false }, consumer: { prefetch: 1000, manual_ack: true }, requeue: { enabled: false } } end |
Instance Method Details
#base_options ⇒ Object
30 31 32 |
# File 'lib/basquiat/adapters/rabbitmq/configuration.rb', line 30 def @options end |
#connection_options ⇒ Hash
Returns the connection options.
47 48 49 |
# File 'lib/basquiat/adapters/rabbitmq/configuration.rb', line 47 def @options[:connection] end |
#merge_user_options(**user_opts) ⇒ Hash
Merges the user supplied options with the base ones
42 43 44 |
# File 'lib/basquiat/adapters/rabbitmq/configuration.rb', line 42 def (**user_opts) @options.deep_merge(user_opts) end |
#session_options ⇒ Hash
Returns the session options.
52 53 54 55 56 57 |
# File 'lib/basquiat/adapters/rabbitmq/configuration.rb', line 52 def { exchange: @options[:exchange], publisher: @options[:publisher], consumer: @options[:consumer], queue: @options[:queue] }.deep_merge(strategy.) end |
#strategy ⇒ BaseStrategy
Returns the requeue strategy or BasicAcknowledge if none is configured.
60 61 62 63 64 65 66 |
# File 'lib/basquiat/adapters/rabbitmq/configuration.rb', line 60 def strategy requeue = @options[:requeue] return AutoAcknowledge unless requeue[:enabled] @strategy ||= RabbitMq.strategy(requeue[:strategy].to_sym) @strategy.setup(requeue[:options] || {}) @strategy end |