Sha256: e7e3f0c7bea4e356a5ce045e4aaddd3a347855b4f179ee577744b2afc1d08767

Contents?: true

Size: 902 Bytes

Versions: 1

Compression:

Stored size: 902 Bytes

Contents

module Spontaneous::Output
  module Store
    autoload :Backend,     'spontaneous/output/store/backend'
    autoload :File,        'spontaneous/output/store/file'
    autoload :Moneta,      'spontaneous/output/store/moneta'
    autoload :Revision,    'spontaneous/output/store/revision'
    autoload :Store,       'spontaneous/output/store/store'
    autoload :Transaction, 'spontaneous/output/store/transaction'

    # Initializes a new store with the provided options
    # Uses moneta as a unified interface to  except in the special case of the :File
    # store which needs to work in a way compatible with the use of
    # an frontend HTTP proxy, e.g. Nginx
    def self.new(backend_class, options = {})
      backend = case backend_class
      when :File
        File.new(options[:root])
      else
        Moneta.new(backend_class, options)
      end
      Store.new(backend)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spontaneous-0.2.0.beta5 lib/spontaneous/output/store.rb