Sha256: e070644ffbb02bd2bda116a4f9fbf866227b656d06a3637005bfea731874feef
Contents?: true
Size: 823 Bytes
Versions: 2
Compression:
Stored size: 823 Bytes
Contents
require 'tempfile' require 'json' module ParallelTests class Pids attr_reader :pids, :file_path, :mutex def initialize(file_path) @file_path = file_path @mutex = Mutex.new end def add(pid) pids << pid.to_i save end def delete(pid) pids.delete(pid.to_i) save end def count read pids.count end private def pids @pids ||= [] end def all read pids end def clear @pids = [] save end def read sync do contents = IO.read(file_path) return if contents.empty? @pids = JSON.parse(contents) end end def save sync { IO.write(file_path, pids.to_json) } end def sync mutex.synchronize { yield } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
parallel_tests-2.16.1 | lib/parallel_tests/pids.rb |
parallel_tests-2.16.0 | lib/parallel_tests/pids.rb |