Module: FastlyNsq::ConsumerTesting

Included in:
Consumer
Defined in:
lib/fastly_nsq/testing.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.prepended(klass) ⇒ Object



269
270
271
272
# File 'lib/fastly_nsq/testing.rb', line 269

def self.prepended(klass)
  klass.prepend(ClassMethods)
  super
end

Instance Method Details

#connect(*args) ⇒ Object



285
286
287
288
# File 'lib/fastly_nsq/testing.rb', line 285

def connect(*args)
  return super(*args) unless FastlyNsq::Testing.enabled?
  @connected = FakeConnection.new
end

#connected?Boolean

Returns:

  • (Boolean)


278
279
280
281
282
283
# File 'lib/fastly_nsq/testing.rb', line 278

def connected?
  return super unless FastlyNsq::Testing.enabled?
  @connected = true if @connected.nil?

  @connected
end

#empty?Boolean

Returns:

  • (Boolean)


290
291
292
# File 'lib/fastly_nsq/testing.rb', line 290

def empty?
  FastlyNsq::Testing.enabled? ? messages.empty? : super
end

#messagesObject

Raises:

  • (NoMethodError)


310
311
312
313
314
# File 'lib/fastly_nsq/testing.rb', line 310

def messages
  raise NoMethodError unless FastlyNsq::Testing.enabled?

  FastlyNsq::Messages.messages[topic]
end

#popObject



294
295
296
# File 'lib/fastly_nsq/testing.rb', line 294

def pop
  FastlyNsq::Testing.enabled? ? messages(topic)&.pop : super
end

#pop_without_blockingObject



298
299
300
# File 'lib/fastly_nsq/testing.rb', line 298

def pop_without_blocking
  FastlyNsq::Testing.enabled? ? messages(topic)&.pop : super
end

#sizeObject



302
303
304
# File 'lib/fastly_nsq/testing.rb', line 302

def size
  FastlyNsq::Testing.enabled? ? messages.size : super
end

#terminateObject



274
275
276
# File 'lib/fastly_nsq/testing.rb', line 274

def terminate
  FastlyNsq::Testing.enabled? || super
end

#terminated?Boolean

Returns:

  • (Boolean)


306
307
308
# File 'lib/fastly_nsq/testing.rb', line 306

def terminated?
  FastlyNsq::Testing.enabled? ? false : super
end