Module: OptimizelyServerSide::Support
- Defined in:
- lib/optimizely_server_side/helpers/support.rb
Instance Method Summary collapse
-
#experiment(experiment_key, options = {}, &blk) ⇒ Object
(also: #feature_flip)
Enables for us to wrap experiments Usage: experiment(‘sign_up_test’) do |config|.
- #optimizely_sdk_project_instance(experiment_key) ⇒ Object
Instance Method Details
#experiment(experiment_key, options = {}, &blk) ⇒ Object Also known as: feature_flip
Enables for us to wrap experiments Usage: experiment(‘sign_up_test’) do |config|
config.variation_one('variation_one_key') do
# Code related to variation one
end
config.variation_two('variation_two_key') do
# Code related to variation two
end
config.variation_default('variation_default_key', primary: true) do
# We still want to keep our default experience
end
end
24 25 26 27 28 29 |
# File 'lib/optimizely_server_side/helpers/support.rb', line 24 def experiment(experiment_key, = {}, &blk) # Merge any other options to user attributes OptimizelyServerSide.configuration.user_attributes.merge!(.stringify_keys) variation_key = optimizely_sdk_project_instance(experiment_key) OptimizelyServerSide::Experiment.new(experiment_key, variation_key).start(&blk) end |
#optimizely_sdk_project_instance(experiment_key) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/optimizely_server_side/helpers/support.rb', line 32 def optimizely_sdk_project_instance(experiment_key) OptimizelyServerSide::OptimizelySdk .project_instance(event_dispatcher: OptimizelyServerSide.configuration.event_dispatcher) .activate(experiment_key, OptimizelyServerSide.configuration.user_attributes['visitor_id'], OptimizelyServerSide.configuration.user_attributes.reject { |k,v| k == 'visitor_id'}) end |