Module: AB
- Defined in:
- lib/ab.rb,
lib/ab/test.rb,
lib/ab/interface.rb,
lib/ab/alternative.rb
Defined Under Namespace
Classes: Alternative, Test
Constant Summary
collapse
- VERSION =
"0.0.1"
Class Method Summary
collapse
Class Method Details
.define(name, description, &block) ⇒ Object
3
4
5
6
7
8
9
|
# File 'lib/ab/interface.rb', line 3
def define(name, description, &block)
raise ArgumentError, "#{name.inspect} is already an AB test" if tests.has_key?(name)
t = AB::Test.new(name, description)
t.instance_eval(&block) if block_given?
t.verify_percentages
tests[name] = t
end
|
.get(name) ⇒ Object
11
12
13
|
# File 'lib/ab/interface.rb', line 11
def get(name)
tests[name]
end
|
.redis ⇒ Object
14
15
16
|
# File 'lib/ab.rb', line 14
def self.redis
@redis ||= Redis.new
end
|
.redis=(redis) ⇒ Object
10
11
12
|
# File 'lib/ab.rb', line 10
def self.redis=(redis)
@redis = redis
end
|
.test(name, identity) ⇒ Object
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/ab/interface.rb', line 25
def test(name, identity)
test = get(name)
alternative = test.get_alternative(identity)
begin
alternative.view!(identity)
rescue Timeout::Error
end
alternative.value
end
|
.track(name, identity) ⇒ Object
15
16
17
18
19
20
21
22
23
|
# File 'lib/ab/interface.rb', line 15
def track(name, identity)
test = get(name)
alternative = test.get_alternative(identity)
begin
alternative.track_conversion!(identity)
rescue Timeout::Error
end
end
|