Sha256: 0df105f6f3ba36eff3b9dafafbe27d92b878b302e2df178d8fe0bb5d25cd26ee

Contents?: true

Size: 571 Bytes

Versions: 2

Compression:

Stored size: 571 Bytes

Contents

module Split
  class User
    extend Forwardable
    def_delegators :@user, :keys, :[], :[]=, :delete
    attr_reader :user

    def initialize(context)
      @user = Split::Persistence.adapter.new(context)
    end

    def cleanup_old_experiments
      user.keys.each do |key|
        experiment = ExperimentCatalog.find key_without_version(key)
        if experiment.nil? || experiment.has_winner? || experiment.start_time.nil?
          user.delete key
        end
      end
    end

    def key_without_version(key)
      key.split(/\:\d(?!\:)/)[0]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
split-1.4.3 lib/split/user.rb
split-1.4.2 lib/split/user.rb