class EenyMeeny::ExperimentConstraint
Public Class Methods
new(experiment_id, variation_id: nil)
click to toggle source
# File lib/eeny-meeny/routing/experiment_constraint.rb, line 7 def initialize(experiment_id, variation_id: nil) @experiment = EenyMeeny::Experiment.find_by_id(experiment_id) @variation_id = variation_id end
Public Instance Methods
matches?(request)
click to toggle source
# File lib/eeny-meeny/routing/experiment_constraint.rb, line 12 def matches?(request) return false unless !@experiment.nil? && @experiment.active? participant_variation_id = EenyMeeny::Cookie.read(request.cookie_jar[EenyMeeny::Cookie.cookie_name(@experiment)]) return false if participant_variation_id.nil? # Not participating in experiment (@variation_id.nil? || @variation_id.to_s == participant_variation_id) end