lib/eeny-meeny/experiment_helper.rb in eeny-meeny-2.0.0 vs lib/eeny-meeny/experiment_helper.rb in eeny-meeny-2.1.0

- old
+ new

@@ -3,12 +3,13 @@ module EenyMeeny::ExperimentHelper def participates_in?(experiment_id, variation_id: nil) experiment = EenyMeeny::Experiment.find_by_id(experiment_id) - return unless experiment.active? - cookie = read_cookie(EenyMeeny::Cookie.cookie_name(experiment)) - cookie[:variation] unless cookie.nil? || (variation_id.present? && variation_id != cookie[:variation].id) + return unless !experiment.nil? && experiment.active? + participant_variation_id = read_cookie(EenyMeeny::Cookie.cookie_name(experiment)) + return if variation_id && variation_id != participant_variation_id + experiment.find_variation(participant_variation_id) end def smoke_test?(smoke_test_id, version: 1) cookie = read_cookie(EenyMeeny::Cookie.smoke_test_name(smoke_test_id, version: version)) cookie unless cookie.nil?