class Laboratory::Experiment::Variant

Attributes

_original_id[R]
_original_percentage[R]
events[R]
id[RW]
participant_ids[R]
percentage[RW]

Public Class Methods

new(id:, percentage:, participant_ids: [], events: []) click to toggle source
# File lib/laboratory/experiment/variant.rb, line 12
def initialize(id:, percentage:, participant_ids: [], events: [])
  @id = id
  @percentage = percentage
  @participant_ids = participant_ids
  @events = events

  @_original_id = id
  @_original_percentage = percentage
end

Public Instance Methods

add_participant(user) click to toggle source
# File lib/laboratory/experiment/variant.rb, line 22
def add_participant(user)
  participant_ids << user.id
end
changeset() click to toggle source
# File lib/laboratory/experiment/variant.rb, line 26
def changeset
  set = {}
  set[:id] = [_original_id, id] if _original_id != id

  if _original_percentage != percentage
    set[:percentage] = [_original_percentage, percentage]
  end

  set
end