def self.human!
Abingo.cache.fetch("Abingo::is_human(#{Abingo.identity})", {:expires_in => Abingo.expires_in(true)}) do
participating_tests = Abingo.cache.read("Abingo::participating_tests::#{Abingo.identity}") || []
if (@@options[:expires_in_for_bots] && !participating_tests.blank?)
Abingo.cache.write("Abingo::participating_tests::#{Abingo.identity}", participating_tests, {:expires_in => Abingo.expires_in(true)})
end
participating_tests.each do |test_name|
Alternative.score_participation(test_name)
if conversions = Abingo.cache.read("Abingo::conversions(#{Abingo.identity},#{test_name}")
conversions.times { Alternative.score_conversion(test_name) }
end
end
true
end
end