lib/laboratory/experiment/variant.rb in laboratory-0.1.0 vs lib/laboratory/experiment/variant.rb in laboratory-0.1.1
- old
+ new
@@ -1,18 +1,34 @@
module Laboratory
class Experiment
class Variant
- attr_reader :id, :percentage, :participant_ids, :events
+ attr_accessor :id, :percentage
+ attr_reader(
+ :_original_id,
+ :_original_percentage,
+ :participant_ids,
+ :events
+ )
def initialize(id:, percentage:, participant_ids: [], events: [])
@id = id
@percentage = percentage
@participant_ids = participant_ids
@events = events
+
+ @_original_id = id
+ @_original_percentage = percentage
end
def add_participant(user)
participant_ids << user.id
+ end
+
+ def changeset
+ set = {}
+ set[:id] = [_original_id, id] if _original_id != id
+ set[:percentage] = [_original_percentage, percentage] if _original_percentage != percentage
+ set
end
end
end
end