Sha256: fdae9daa7c2125fbe4f04875cf5fba74d4b3d817ba83779a73344fc9578d16f8

Contents?: true

Size: 353 Bytes

Versions: 26

Compression:

Stored size: 353 Bytes

Contents

require 'rbbt/tsv'
require 'rbbt/persist'
module TCCache
  def self.open(file, type = :single)
    database = Persist.open_tokyocabinet(file, true, type, "HDB")
    database.extend TCCache
  end

  def cache(key)
    if self.include? key
      return self[key]
    else
      self.write_and_read do
        self[key] = yield
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
rbbt-util-5.19.25 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.24 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.23 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.22 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.21 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.20 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.19 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.18 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.17 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.16 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.15 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.14 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.13 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.12 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.11 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.10 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.9 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.8 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.7 lib/rbbt/util/tc_cache.rb
rbbt-util-5.19.6 lib/rbbt/util/tc_cache.rb