module Divisio::MongoidAdapter

Public Instance Methods

delete_experiment_for_identity(identity, experiment_name) click to toggle source
# File lib/divisio/mongoid_adapter.rb, line 22
def delete_experiment_for_identity(identity, experiment_name)
  experiment_object = Experiment.where(identifier: identity, name: experiment_name).first

  return experiment_object.destroy if experiment_object
  false
end
split(experiment_name, variants, identity) click to toggle source
Calls superclass method Divisio::BaseAdapter#split
# File lib/divisio/mongoid_adapter.rb, line 10
def split(experiment_name, variants, identity)
  experiment_object = Experiment.where(identifier: identity, name: experiment_name).first
  return experiment_object.variant if experiment_object

  variant_for_identity = super.to_s
  experiment_object = Experiment.new(identifier: identity, name: experiment_name, variant: variant_for_identity)

  return variant_for_identity if experiment_object.save
rescue Moped::Errors::OperationFailure
  split(experiment_name, variants, identity)
end