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.



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

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



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

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

.with_config(options = {}) ⇒ Object



29
30
31
32
# File 'lib/split/persistence/dual_adapter.rb', line 29

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