Class: Smith::Messaging::Sender

Inherits:
Object
  • Object
show all
Defined in:
lib/fake_smith.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(queue_name, _opts = nil, &blk) ⇒ Sender

Returns a new instance of Sender.



157
158
159
160
# File 'lib/fake_smith.rb', line 157

def initialize(queue_name, _opts = nil, &blk)
  @queue_name = queue_name
  blk.call(self) if block_given?
end

Instance Attribute Details

#queue_nameObject (readonly)

Returns the value of attribute queue_name.



155
156
157
# File 'lib/fake_smith.rb', line 155

def queue_name
  @queue_name
end

Instance Method Details

#message_count(&blk) ⇒ Object



177
178
179
# File 'lib/fake_smith.rb', line 177

def message_count(&blk)
  blk.call FakeSmith.get_messages(@queue_name).count if block_given?
end

#on_reply(_opts, &blk) ⇒ Object



162
163
164
# File 'lib/fake_smith.rb', line 162

def on_reply(_opts, &blk)
  @on_reply = blk
end

#on_timeout(&blk) ⇒ Object



166
167
# File 'lib/fake_smith.rb', line 166

def on_timeout(&blk)
end

#publish(message, &blk) ⇒ Object



169
170
171
172
173
174
175
# File 'lib/fake_smith.rb', line 169

def publish(message, &blk)
  FakeSmith.add_message(@queue_name, message)
  blk.call if block_given?
  if FakeSmith.reply_handlers[@queue_name] && @on_reply
    @on_reply.call(FakeSmith.reply_handlers[@queue_name].call(message))
  end
end