class CI::Queue::Redis::TestTimeRecord
Attributes
redis[R]
Public Instance Methods
fetch()
click to toggle source
# File lib/ci/queue/redis/test_time_record.rb, line 11 def fetch fetch_all_test_names.each_with_object({}) do |test_name, test_time_hash| test_time_hash[test_name] = fetch_test_time(test_name) end end
record(test_name, duration)
click to toggle source
# File lib/ci/queue/redis/test_time_record.rb, line 6 def record(test_name, duration) record_test_time(test_name, duration) record_test_name(test_name) end
Private Instance Methods
all_test_names_key()
click to toggle source
# File lib/ci/queue/redis/test_time_record.rb, line 56 def all_test_names_key "build:#{config.build_id}:list_of_test_names".dup.force_encoding(Encoding::BINARY) end
fetch_all_test_names()
click to toggle source
# File lib/ci/queue/redis/test_time_record.rb, line 41 def fetch_all_test_names values = redis.pipelined do redis.lrange(all_test_names_key, 0, -1) end values.flatten.map(&:to_s) end
fetch_test_time(test_name)
click to toggle source
# File lib/ci/queue/redis/test_time_record.rb, line 48 def fetch_test_time(test_name) values = redis.pipelined do key = test_time_key(test_name) redis.lrange(key, 0, -1) end values.flatten.map(&:to_f) end
record_test_name(test_name)
click to toggle source
# File lib/ci/queue/redis/test_time_record.rb, line 31 def record_test_name(test_name) redis.pipelined do redis.lpush( all_test_names_key, test_name.dup.force_encoding(Encoding::BINARY), ) end nil end
record_test_time(test_name, duration)
click to toggle source
# File lib/ci/queue/redis/test_time_record.rb, line 21 def record_test_time(test_name, duration) redis.pipelined do redis.lpush( test_time_key(test_name), duration.to_s.force_encoding(Encoding::BINARY), ) end nil end
test_time_key(test_name)
click to toggle source
# File lib/ci/queue/redis/test_time_record.rb, line 60 def test_time_key(test_name) "build:#{config.build_id}:#{test_name}".dup.force_encoding(Encoding::BINARY) end