Class: TrailGuide::Experiments::Participant

Inherits:
Object
  • Object
show all
Defined in:
lib/trail_guide/experiments/participant.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(experiment, participant) ⇒ Participant

Returns a new instance of Participant.



6
7
8
9
# File 'lib/trail_guide/experiments/participant.rb', line 6

def initialize(experiment, participant)
  @experiment = experiment
  @participant = participant
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(meth, *args, &block) ⇒ Object



23
24
25
26
# File 'lib/trail_guide/experiments/participant.rb', line 23

def method_missing(meth, *args, &block)
  return participant.send(meth, *args, &block) if participant.respond_to?(meth, true)
  super
end

Instance Attribute Details

#experimentObject (readonly)

Returns the value of attribute experiment.



4
5
6
# File 'lib/trail_guide/experiments/participant.rb', line 4

def experiment
  @experiment
end

#participantObject (readonly)

Returns the value of attribute participant.



4
5
6
# File 'lib/trail_guide/experiments/participant.rb', line 4

def participant
  @participant
end

Instance Method Details

#converted?(checkpoint = nil) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
# File 'lib/trail_guide/experiments/participant.rb', line 15

def converted?(checkpoint=nil)
  @converted ||= participant.converted?(experiment, checkpoint)
end

#participating?Boolean

Returns:

  • (Boolean)


11
12
13
# File 'lib/trail_guide/experiments/participant.rb', line 11

def participating?
  @participating ||= variant.present?
end

#respond_to_missing?(meth, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/trail_guide/experiments/participant.rb', line 28

def respond_to_missing?(meth, include_private=false)
  participant.respond_to?(meth, include_private)
end

#variantObject



19
20
21
# File 'lib/trail_guide/experiments/participant.rb', line 19

def variant
  @variant ||= participant.variant(experiment)
end