Sha256: 2cdf122eb0d3b791536f0526e7beac61875abedb453d767ea267ef9d428e2405
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true require "concurrent/hash" require "concurrent/array" require "rom/memory/dataset" module ROM module Memory # In-memory thread-safe data storage # # @private class Storage # Dataset registry # # @return [ThreadSafe::Hash] # # @api private attr_reader :data # @api private def initialize @data = Concurrent::Hash.new end # @return [Dataset] # # @api private def [](name) data[name] end # Register a new dataset # # @return [Dataset] # # @api private def create_dataset(name) data[name] = Dataset.new(Concurrent::Array.new) end # Check if there's dataset under specified key # # @return [Boolean] # # @api private def key?(name) data.key?(name) end # Return registered datasets count # # @return [Integer] # # @api private def size data.size end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rom-6.0.0.alpha1 | lib/rom/memory/storage.rb |