Sha256: cebffb1cdab27a891bf239489d2a7c3e5cb6f9f076143961247fdef863e44ef3

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

module OptimizelyServerSide

  module Support

    # 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') do
    #     # We still want to keep our default experience
    #   end
    #
    # end

    def experiment(experiment_key, &blk)
      result_variation_key = optimizely_sdk_project_instance(experiment_key)
      variation_instance   = OptimizelyServerSide::Variation.new(result_variation_key)
      blk.call(variation_instance)
      variation_instance.compute
    end

    def optimizely_sdk_project_instance(experiment_key)
      OptimizelyServerSide::OptimizelySdk.project_instance(event_dispather: MyEventDispatcher.new).activate(experiment_key, OptimizelyServerSide.configuration.visitor_id)
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
optimizely_server_side-0.0.3 lib/optimizely_server_side/helpers/support.rb