Sha256: f6bce0909fb566111b6ad0b1ac026ce9e48ddd46fd6a5adf2c8a4a0ca94a7cac

Contents?: true

Size: 742 Bytes

Versions: 2

Compression:

Stored size: 742 Bytes

Contents

module BasicCache
  ##
  # Basic store object (uses a Hash)
  class Store
    attr_reader :raw

    ##
    # Generate an empty store

    def initialize(_ = {})
      @raw = {}
    end

    ##
    # Clears a specified key or the whole store

    def clear!(key = nil)
      key.nil? ? @raw.clear : @raw.delete(key)
    end

    ##
    # Retrieve a key

    def [](key)
      @raw[key]
    end

    ##
    # Set a key

    def []=(key, value)
      @raw[key] = value
    end

    ##
    # Return the size of the store

    def size
      @raw.size
    end

    ##
    # Check for a key in the store

    def include?(key)
      @raw.include? key
    end

    ##
    # Array of keys in the store

    def keys
      @raw.keys
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
basiccache-1.0.0 lib/basiccache/stores/store.rb
basiccache-0.2.2 lib/basiccache/stores/store.rb