Module: Ablab::ModuleMethods

Included in:
Ablab
Defined in:
lib/ablab.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#experimentsObject (readonly)

Returns the value of attribute experiments.



9
10
11
# File 'lib/ablab.rb', line 9

def experiments
  @experiments
end

Instance Method Details

#dashboard_credentials(credentials = nil) ⇒ Object



33
34
35
36
37
38
39
40
41
# File 'lib/ablab.rb', line 33

def dashboard_credentials(credentials = nil)
  if credentials
    unless credentials[:name] && credentials[:password]
      raise InvalidCredentials, 'credentials should provide name and password'
    end
    @dashboard_credentials = credentials
  end
  @dashboard_credentials
end

#experiment(name, &block) ⇒ Object



15
16
17
18
# File 'lib/ablab.rb', line 15

def experiment(name, &block)
  @experiments ||= {}
  @experiments[name] = Experiment.new(name, &block)
end

#setup(&block) ⇒ Object



11
12
13
# File 'lib/ablab.rb', line 11

def setup(&block)
  instance_exec(&block)
end

#store(type, *args) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/ablab.rb', line 20

def store(type, *args)
  if type.is_a? Class
    @tracker = Class.new(*args)
  else
    class_name = type.to_s.split('_').map(&:capitalize).join
    @tracker = Ablab::Store.const_get(class_name).new(*args)
  end
end

#trackerObject



29
30
31
# File 'lib/ablab.rb', line 29

def tracker
  @tracker ||= Ablab::Store::Memory.new
end