Module: Ablab::ModuleMethods
- Included in:
- Ablab
- Defined in:
- lib/ablab.rb
Instance Attribute Summary collapse
-
#experiments ⇒ Object
readonly
Returns the value of attribute experiments.
Instance Method Summary collapse
- #dashboard_credentials(credentials = nil) ⇒ Object
- #experiment(name, &block) ⇒ Object
- #setup(&block) ⇒ Object
- #store(type, *args) ⇒ Object
- #tracker ⇒ Object
Instance Attribute Details
#experiments ⇒ Object (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 |
#tracker ⇒ Object
29 30 31 |
# File 'lib/ablab.rb', line 29 def tracker @tracker ||= Ablab::Store::Memory.new end |