module TrailGuide::Experiments::Lifecycle
Public Class Methods
included(base)
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 5 def self.included(base) base.send :extend, ClassMethods end
Public Instance Methods
calibrating?()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 188 def calibrating? enable_calibration? && start_manually? && !started? end
paused?()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 176 def paused? paused_at && paused_at <= Time.now end
paused_at()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 160 def paused_at @paused_at ||= self.class.paused_at end
run_callbacks(hook, *args)
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 129 def run_callbacks(hook, *args) return unless callbacks[hook] if [:allow_participation, :allow_conversion, :track_participation, :rollout_winner].include?(hook) callbacks[hook].reduce(args.slice!(0,1)[0]) do |result, callback| if callback.respond_to?(:call) callback.call(self, result, *args) else send(callback, self, result, *args) end end else args.unshift(self) callbacks[hook].each do |callback| if callback.respond_to?(:call) callback.call(*args) else send(callback, *args) end end end end
running?()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 184 def running? started? && !paused? && !stopped? end
scheduled?()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 168 def scheduled? started_at && started_at > Time.now end
start!()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 151 def start! @started_at = nil self.class.start! end
started?()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 172 def started? started_at && started_at <= Time.now end
started_at()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 156 def started_at @started_at ||= self.class.started_at end
stopped?()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 180 def stopped? stopped_at && stopped_at <= Time.now end
stopped_at()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 164 def stopped_at @stopped_at ||= self.class.stopped_at end
winner?()
click to toggle source
# File lib/trail_guide/experiments/lifecycle.rb, line 192 def winner? return @has_winner unless @has_winner.nil? @has_winner = self.class.winner? end