Module: Rabbit

Extended by:
Rabbit
Included in:
Rabbit
Defined in:
lib/rabbit.rb,
lib/rabbit/daemon.rb,
lib/rabbit/version.rb,
lib/rabbit/receiving.rb,
lib/rabbit/publishing.rb,
lib/rabbit/publishing/channels_pool.rb

Defined Under Namespace

Modules: Daemon, Publishing, Receiving, TestHelpers Classes: Config, EventHandler

Constant Summary collapse

InvalidConfig =
Class.new(StandardError)
MessageNotDelivered =
Class.new(StandardError)
VERSION =
"0.13.0"

Instance Method Summary collapse

Instance Method Details

#config {|@config| ... } ⇒ Object Also known as: configure

Yields:



70
71
72
73
74
# File 'lib/rabbit.rb', line 70

def config
  @config ||= Config.new
  yield(@config) if block_given?
  @config
end

#default_queue_name(ignore_conversion: false) ⇒ Object



93
94
95
# File 'lib/rabbit.rb', line 93

def default_queue_name(ignore_conversion: false)
  queue_name(:default, ignore_conversion: ignore_conversion)
end

#publish(message_options) ⇒ Object



78
79
80
81
82
83
84
85
86
# File 'lib/rabbit.rb', line 78

def publish(message_options)
  message = Publishing::Message.new(message_options)

  if message.realtime?
    Publishing.publish(message)
  else
    Publishing::Job.set(queue: default_queue_name).perform_later(message.to_hash)
  end
end

#queue_name(queue, ignore_conversion: false) ⇒ Object



88
89
90
91
# File 'lib/rabbit.rb', line 88

def queue_name(queue, ignore_conversion: false)
  return queue if ignore_conversion
  config.queue_name_conversion ? config.queue_name_conversion.call(queue) : queue
end