class Split::GoalsCollection
Public Class Methods
new(experiment_name, goals=nil)
click to toggle source
# File lib/split/goals_collection.rb, line 5 def initialize(experiment_name, goals=nil) @experiment_name = experiment_name @goals = goals end
Public Instance Methods
delete()
click to toggle source
# File lib/split/goals_collection.rb, line 35 def delete Split.redis.del(goals_key) end
load_from_configuration()
click to toggle source
# File lib/split/goals_collection.rb, line 14 def load_from_configuration goals = Split.configuration.experiment_for(@experiment_name)[:goals] if goals.nil? goals = [] else goals.flatten end end
load_from_redis()
click to toggle source
# File lib/split/goals_collection.rb, line 10 def load_from_redis Split.redis.lrange(goals_key, 0, -1) end
save()
click to toggle source
# File lib/split/goals_collection.rb, line 24 def save return false if @goals.nil? RedisInterface.new.persist_list(goals_key, @goals) end
validate!()
click to toggle source
# File lib/split/goals_collection.rb, line 29 def validate! unless @goals.nil? || @goals.kind_of?(Array) raise ArgumentError, 'Goals must be an array' end end
Private Instance Methods
goals_key()
click to toggle source
# File lib/split/goals_collection.rb, line 41 def goals_key "#{@experiment_name}:goals" end