def self.participating_tests(only_current = true)
identity = Abingo.identity
participating_tests = Abingo.cache.read("Abingo::participating_tests::#{identity}") || []
tests_and_alternatives = participating_tests.inject({}) do |acc, test_name|
alternatives_key = "Abingo::Experiment::#{test_name}::alternatives".gsub(" ","_")
alternatives = Abingo.cache.read(alternatives_key)
acc[test_name] = Abingo.find_alternative_for_user(test_name, alternatives)
acc
end
if (only_current)
tests_and_alternatives.reject! do |key, value|
self.cache.read("Abingo::Experiment::short_circuit(#{key})")
end
end
tests_and_alternatives
end