Sha256: f356036faffed7f4e8f518a354b82871126f888eef2613d8fb9217b7130ed6ed

Contents?: true

Size: 713 Bytes

Versions: 1

Compression:

Stored size: 713 Bytes

Contents

require 'fileutils'
require 'viiite/bdb/utils'
require 'viiite/bdb/immediate'
require 'viiite/bdb/cached'
module Viiite
  class BDB
    include Utils

    DEFAULT_OPTIONS = {
      :folder       => "benchmarks",
      :cache        => true,
      :cache_mode   => "w",
      :pattern      => "**/*.rb",
    }

    def self.new(options = {})
      options = DEFAULT_OPTIONS.merge(options)
      folder = options[:folder]
      bdb = BDB::Immediate.new(folder, options[:pattern])
      if cache = options[:cache]
        cache = File.join(folder, '.cache') unless cache.is_a?(String)
        bdb = BDB::Cached.new(bdb, cache, options[:cache_mode])
      end
      bdb
    end

  end # class BDB
end # module Viiite

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
viiite-0.2.0 lib/viiite/bdb.rb