Sha256: def04317aa502be68af2167c3c2d4446eb075da0f36ae7ed74953faf748cf736
Contents?: true
Size: 850 Bytes
Versions: 3
Compression:
Stored size: 850 Bytes
Contents
# frozen_string_literal: true module Split class GoalsCollection def initialize(experiment_name, goals = nil) @experiment_name = experiment_name @goals = goals end def load_from_redis Split.redis.lrange(goals_key, 0, -1) end def load_from_configuration goals = Split.configuration.experiment_for(@experiment_name)[:goals] if goals goals.flatten else [] end end def save return false if @goals.nil? RedisInterface.new.persist_list(goals_key, @goals) end def validate! unless @goals.nil? || @goals.kind_of?(Array) raise ArgumentError, "Goals must be an array" end end def delete Split.redis.del(goals_key) end private def goals_key "#{@experiment_name}:goals" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
split-4.0.4 | lib/split/goals_collection.rb |
split-4.0.3 | lib/split/goals_collection.rb |
split-4.0.2 | lib/split/goals_collection.rb |