Class: RSpectacles::Adapter::BatchedRedisLogger

Inherits:
RedisLogger
  • Object
show all
Defined in:
lib/rspectacles/adapter/batched_redis_logger.rb

Instance Attribute Summary

Attributes inherited from RedisLogger

#redis, #test_run_key

Instance Method Summary collapse

Methods inherited from RedisLogger

#config, #delete_last_log, #format_example, #initialize, #log, #log_formatted, #message, #start, #uri

Constructor Details

This class inherits a constructor from RSpectacles::Adapter::RedisLogger

Instance Method Details

#batch_sizeObject



15
16
17
# File 'lib/rspectacles/adapter/batched_redis_logger.rb', line 15

def batch_size
  config.batch_size
end

#flush_queueObject



24
25
26
27
28
29
30
31
# File 'lib/rspectacles/adapter/batched_redis_logger.rb', line 24

def flush_queue
  queued_messages.each do |message|
    redis.publish config.pubsub_channel_name, message
    redis.lpush test_run_key, message
  end

  @queued_messages = []
end

#queue(message) ⇒ Object



19
20
21
22
# File 'lib/rspectacles/adapter/batched_redis_logger.rb', line 19

def queue(message)
  puts test_run_key, message
  queued_messages << message
end

#queued_messagesObject



6
7
8
# File 'lib/rspectacles/adapter/batched_redis_logger.rb', line 6

def queued_messages
  @queued_messages ||= []
end

#stopObject



10
11
12
13
# File 'lib/rspectacles/adapter/batched_redis_logger.rb', line 10

def stop
  super
  flush_queue
end