Module: Bandit
- Defined in:
- lib/bandit/storage/base.rb,
lib/bandit.rb,
lib/bandit/config.rb,
lib/bandit/version.rb,
lib/bandit/date_hour.rb,
lib/bandit/exceptions.rb,
lib/bandit/experiment.rb,
lib/bandit/memoizable.rb,
lib/bandit/players/base.rb,
lib/bandit/storage/dalli.rb,
lib/bandit/storage/redis.rb,
lib/bandit/storage/memory.rb,
lib/bandit/storage/memcache.rb,
lib/bandit/players/round_robin.rb,
lib/bandit/players/epsilon_greedy.rb,
lib/bandit/extensions/view_concerns.rb,
lib/generators/bandit/install_generator.rb,
lib/bandit/extensions/controller_concerns.rb,
lib/generators/bandit/dashboard_generator.rb more...
Overview
every so often store current epsilon state:<experiment>:<player>:epsilon = 0.1
Defined Under Namespace
Modules: ControllerConcerns, Generators, Memoizable, ViewConcerns
Classes: BasePlayer, BaseStorage, Config, DalliStorage, DateHour, EpsilonGreedyPlayer, Experiment, MemCacheStorage, MemoryStorage, MissingConfigurationError, RedisStorage, RoundRobinPlayer, UnknownPlayerEngineError, UnknownStorageEngineError
Constant Summary
collapse
- VERSION =
"0.1.0"
- @@storage_failure_at =
nil
Class Method Summary
collapse
Class Method Details
[View source]
27
28
29
|
# File 'lib/bandit.rb', line 27
def self.config
@config ||= Config.new
end
|
permalink
.get_experiment(name) ⇒ Object
[View source]
56
57
58
59
|
# File 'lib/bandit.rb', line 56
def self.get_experiment(name)
exp = Experiment.instances.select { |e| e.name == name }
exp.length > 0 ? exp.first : nil
end
|
permalink
.setup {|config| ... } ⇒ Object
[View source]
31
32
33
34
35
36
|
# File 'lib/bandit.rb', line 31
def self.setup(&block)
yield config
config.check!
config.storage_config = config.storage_config.inject({}) { |n,o| n[o.first.intern] = o.last; n }
end
|
permalink
.storage_failed! ⇒ Object
[View source]
52
53
54
|
# File 'lib/bandit.rb', line 52
def self.storage_failed!
@@storage_failure_at = Time.now.to_i
end
|