Sha256: 15e652e6a6aa7666d2686617079bc5aeea794c46e66b1d905ddff4fd62747b6a
Contents?: true
Size: 813 Bytes
Versions: 2
Compression:
Stored size: 813 Bytes
Contents
# frozen_string_literal: true module Cistern::Data def self.extended(klass) klass.send(:extend, ClassMethods) klass.send(:include, InstanceMethods) end def self.backends @backends ||= {} end def self.backend(*args, &block) engine, options = args Cistern::Data.backends[engine].new(options || {}, &block) end module ClassMethods def data @data ||= Cistern::Data.backend(*storage) { |d, k| d[k] = [] } end def reset! clear! @data = nil end def clear! data.clear end def store_in(*args) @storage = *args @data = nil end def storage @storage ||= :hash end end module InstanceMethods def data self.class.data end def reset! self.class.reset! end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cistern-2.8.2 | lib/cistern/data.rb |
cistern-2.8.1 | lib/cistern/data.rb |