class TrailGuide::Experiments::Participant

Attributes

experiment[R]
participant[R]

Public Class Methods

new(experiment, participant) click to toggle source
# File lib/trail_guide/experiments/participant.rb, line 7
def initialize(experiment, participant)
  @experiment = experiment
  @participant = participant
end

Public Instance Methods

converted!(variant, checkpoint=nil, reset: false) click to toggle source
# File lib/trail_guide/experiments/participant.rb, line 28
def converted!(variant, checkpoint=nil, reset: false)
  @converted ||= {}
  @converted[checkpoint || :converted] ||= true
  participant.converted!(variant, checkpoint, reset: reset)
end
converted?(checkpoint=nil) click to toggle source
# File lib/trail_guide/experiments/participant.rb, line 21
def converted?(checkpoint=nil)
  @converted ||= {}
  converted_key = checkpoint || :converted
  @converted[converted_key] = participant.converted?(experiment, checkpoint) unless @converted.key?(converted_key)
  @converted[converted_key]
end
exit!() click to toggle source
# File lib/trail_guide/experiments/participant.rb, line 38
def exit!
  @converted = nil
  @variant = nil
  participant.exit!(experiment)
end
method_missing(meth, *args, &block) click to toggle source
Calls superclass method
# File lib/trail_guide/experiments/participant.rb, line 44
def method_missing(meth, *args, &block)
  return participant.send(meth, *args, &block) if participant.respond_to?(meth, true)
  super
end
participating!(variant) click to toggle source
# File lib/trail_guide/experiments/participant.rb, line 16
def participating!(variant)
  @variant = variant
  participant.participating!(variant) if experiment.configuration.sticky_assignment?
end
participating?(include_control=true) click to toggle source
# File lib/trail_guide/experiments/participant.rb, line 12
def participating?(include_control=true)
  participant.participating?(experiment, include_control)
end
respond_to_missing?(meth, include_private=false) click to toggle source
# File lib/trail_guide/experiments/participant.rb, line 49
def respond_to_missing?(meth, include_private=false)
  participant.respond_to?(meth, include_private)
end
variant() click to toggle source
# File lib/trail_guide/experiments/participant.rb, line 34
def variant
  @variant ||= participant.variant(experiment)
end