Sha256: 46a57bf95c55b8b5dfb091a64148beb3e5c41bc96b3a12f126d14b74af230623
Contents?: true
Size: 1.12 KB
Versions: 1
Compression:
Stored size: 1.12 KB
Contents
require 'prefatory/config' require 'prefatory/errors' module Prefatory module Storage class Discover def initialize(config, ttl=Prefatory.config.ttl) @config = config @ttl = ttl @provider = find_provider(config.provider) end def instance require_relative "#{@provider}_provider" Object.const_get("Prefatory::Storage::#{@provider.to_s.capitalize}Provider").new(@config.options, @ttl, marshaler: marshaler) end private def marshaler @config.respond_to?(:marshaler) ? @config.marshaler : Marshal end def find_provider(provider) return provider if provider return :redis if defined?(Redis) return :memcached if defined?(Dalli) raise Errors::Configuration, 'Unable to discover a default storage provider! '\ 'You must either have the redis or dalli gem installed.' end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
prefatory-0.1.2 | lib/prefatory/storage/discover.rb |