Class: Split::Persistence::DualAdapter

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/split/persistence/dual_adapter.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ DualAdapter

Returns a new instance of DualAdapter.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/split/persistence/dual_adapter.rb', line 11

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

Class Method Details

.configObject



37
38
39
# File 'lib/split/persistence/dual_adapter.rb', line 37

def self.config
  @config ||= {}
end

.with_config(options = {}) ⇒ Object



32
33
34
35
# File 'lib/split/persistence/dual_adapter.rb', line 32

def self.with_config(options={})
  self.config.merge!(options)
  self
end