Sha256: cd917cbec94a182367ef349cb2357b749b53eefd07418c7cc1b075b8c8301e05
Contents?: true
Size: 1.06 KB
Versions: 2
Compression:
Stored size: 1.06 KB
Contents
module Lawnchair module StorageEngine class Abstract class << self attr_reader :data_store def data_store @data_store ||= {} end def fetch(key, options={}, &block) if self.db_connection? if exists?(key) value = get(key, options) else value = block.call set(key, value, options) return value end else block.call end end def get(key, options={}) if options[:raw] data_store[computed_key(key)] else exists?(key) ? Marshal.load(data_store[computed_key(key)]) : nil end end def computed_key(key) raise "Missing key" if key.nil? || key.empty? raise "Key's may not contain whitespace" if key.match(/\s/) prefix = "Lawnchair" "#{prefix}:#{key}" end def db_connection? true end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lawnchair-0.5.7 | lib/storage_engine/abstract.rb |
lawnchair-0.5.6 | lib/storage_engine/abstract.rb |