Sha256: 973b17e235df1ce9a2b2aba4b04d6a19603d8a592742faf10c3d7976a2482ca3

Contents?: true

Size: 296 Bytes

Versions: 2

Compression:

Stored size: 296 Bytes

Contents

# Thread safe hash
class CleanHash
  class MutexHash
    MUTEX = Mutex.new

    def initialize name=nil
      @data ||= {}
    end

    def [] name
      @data[name.to_sym]
    end

    def []= name, value
      MUTEX.synchronize do
        @data[name.to_sym] = value
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
clean-hash-0.3.1 ./lib/clean-hash/mutex_hash.rb
clean-hash-0.3.0 ./lib/clean-hash/mutex_hash.rb