Sha256: 2a751c1e791a12fa163d26ae8d8f5ebe981ef4749a8b3b139cea8ed3bd9927a1
Contents?: true
Size: 997 Bytes
Versions: 7
Compression:
Stored size: 997 Bytes
Contents
# frozen_string_literal: true require 'forwardable' module Split module Persistence class DualAdapter extend Forwardable def_delegators :@adapter, :keys, :[], :[]=, :delete def initialize(context) if logged_in = self.class.config[:logged_in] else raise "Please configure :logged_in" end if logged_in_adapter = self.class.config[:logged_in_adapter] else raise "Please configure :logged_in_adapter" end if logged_out_adapter = self.class.config[:logged_out_adapter] else raise "Please configure :logged_out_adapter" end if logged_in.call(context) @adapter = logged_in_adapter.new(context) else @adapter = logged_out_adapter.new(context) end end def self.with_config(options={}) self.config.merge!(options) self end def self.config @config ||= {} end end end end
Version data entries
7 entries across 7 versions & 1 rubygems