Sha256: 696f75770f31dc91ef2693b1bf805c46179484d346ebccf26e66115ae5a68e8c
Contents?: true
Size: 1016 Bytes
Versions: 1
Compression:
Stored size: 1016 Bytes
Contents
module Split class Trial attr_accessor :experiment attr_writer :alternative def initialize(attrs = {}) self.experiment = attrs[:experiment] if !attrs[:experiment].nil? self.alternative = attrs[:alternative] if !attrs[:alternative].nil? self.alternative_name = attrs[:alternative_name] if !attrs[:alternative_name].nil? end def alternative @alternative ||= if experiment.winner experiment.winner end end def complete! alternative.increment_completion if alternative end def choose! choose record! end def record! alternative.increment_participation end def choose if experiment.winner self.alternative = experiment.winner else self.alternative = experiment.next_alternative end end def alternative_name=(name) self.alternative= self.experiment.alternatives.find{|a| a.name == name } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
split-0.5.0 | lib/split/trial.rb |