Sha256: 15f32862eed8248c68054ba5d14582b1106132c006f46be008f75d8d42bb298d
Contents?: true
Size: 1.21 KB
Versions: 2
Compression:
Stored size: 1.21 KB
Contents
require "celluloid" module Celluloid module Extras # Concurrent Hash mirroring the existing Hash API as an Actor. class Hash include Celluloid def initialize(starter={}) @outer = starter end def [](k) @outer[k] end def []=(k, v) @outer.store(k, v) v end def key?(k) @outer.key?(k) end def inspect @outer.inspect end def insert(k, v) @outer[k] = v end def merge(h) @outer.merge(h) end def merge!(h) @outer.merge!(h) end def delete(k) @outer.delete(k) end def each(&b) @outer.each(&b) end def sort_by(&b) @outer.sort_by(&b) end def inject(s=nil, &b) @outer.inject(s, &b) end def select!(&b) @outer.select!(&b) end def select(&b) @outer.select(&b) end def replace(h) @outer.replace(h) end def empty? @outer.count == 0 end def any? @outer.any? end def count @outer.count end def keys @outer.keys end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
celluloid-extras-0.1.3 | lib/celluloid/extras/hash.rb |
celluloid-extras-0.1.2 | lib/celluloid/extras/hash.rb |