Skip to content

Commit 0d89969

Browse files
author
Nathan Houle
committed
Merge pull request #639 from segmentio/fix/optimizely-root
Optimizely: roots fix
2 parents 629fdda + d71448c commit 0d89969

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

lib/optimizely/index.js

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,12 @@ Optimizely.prototype.roots = function(){
110110
if (!data) return;
111111
var allExperiments = data.experiments;
112112
if (!data || !data.state || !allExperiments) return;
113-
var variationNamesMap = data.state.variationNamesMap;
114-
var variationIdsMap = data.state.variationIdsMap;
115-
var activeExperimentIds = data.state.activeExperiments;
116-
var activeExperiments = getExperiments(activeExperimentIds, variationNamesMap,
117-
variationIdsMap, allExperiments);
113+
var activeExperiments = getExperiments({
114+
variationNamesMap: data.state.variationNamesMap,
115+
variationIdsMap: data.state.variationIdsMap,
116+
activeExperimentIds: data.state.activeExperiments,
117+
allExperiments: allExperiments
118+
});
118119
var self = this;
119120

120121
each(activeExperiments, function(props){
@@ -157,22 +158,20 @@ Optimizely.prototype.replay = function(){
157158
* Retrieves active experiments.
158159
*
159160
* @api private
160-
* @param {Object} state
161-
* @param {Object} allExperiments
161+
* @param {Object} options
162162
*/
163163

164-
// FIXME: This should accept an options object rather than all these parameters
165-
function getExperiments(activeExperimentIds, variationNamesMap, variationIdsMap, allExperiments){
164+
function getExperiments(options){
166165
return foldl(function(results, experimentId){
167-
var experiment = allExperiments[experimentId];
166+
var experiment = options.allExperiments[experimentId];
168167
if (experiment) {
169168
results.push({
170-
variationName: variationNamesMap[experimentId],
171-
variationId: variationIdsMap[experimentId],
169+
variationName: options.variationNamesMap[experimentId],
170+
variationId: options.variationIdsMap[experimentId][0],
172171
experimentId: experimentId,
173172
experimentName: experiment.name
174173
});
175174
}
176175
return results;
177-
}, [], activeExperimentIds);
176+
}, [], options.activeExperimentIds);
178177
}

lib/optimizely/test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ describe('Optimizely', function(){
2222
state: {
2323
activeExperiments: [0],
2424
variationNamesMap: { 0: 'Variation1' },
25-
variationIdsMap: { 0: 123 }
25+
variationIdsMap: { 0: [123] }
2626
}
2727
};
2828
});

0 commit comments

Comments
 (0)