Module: TrailGuide::Experiments::Persistence::ClassMethods

Defined in:
lib/trail_guide/experiments/persistence.rb

Instance Method Summary collapse

Instance Method Details

#adapterObject



10
11
12
# File 'lib/trail_guide/experiments/persistence.rb', line 10

def adapter
  @adapter ||= TrailGuide::Adapters::Experiments::Redis.new(self)
end

#delete!(context = nil) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/trail_guide/experiments/persistence.rb', line 24

def delete!(context=nil)
  combined.each { |combo| TrailGuide.catalog.find(combo).delete! }
  variants.each(&:delete!)
  deleted = adapter.destroy
  run_callbacks(:on_delete, context)
  true
end

#persisted?Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/trail_guide/experiments/persistence.rb', line 14

def persisted?
  adapter.persisted?
end

#reset!(context = nil) ⇒ Object



32
33
34
35
36
37
# File 'lib/trail_guide/experiments/persistence.rb', line 32

def reset!(context=nil)
  delete!(context)
  save!
  run_callbacks(:on_reset, context)
  true
end

#save!Object



18
19
20
21
22
# File 'lib/trail_guide/experiments/persistence.rb', line 18

def save!
  combined_experiments.each(&:save!)
  variants.each(&:save!)
  adapter.setnx(:name, experiment_name)
end

#storage_keyObject



39
40
41
# File 'lib/trail_guide/experiments/persistence.rb', line 39

def storage_key
  configuration.name
end