|
1 | 1 | # frozen_string_literal: true
|
2 | 2 |
|
3 | 3 | #
|
4 |
| -# Copyright 2016-2017, Optimizely and contributors |
| 4 | +# Copyright 2016-2018, Optimizely and contributors |
5 | 5 | #
|
6 | 6 | # Licensed under the Apache License, Version 2.0 (the "License");
|
7 | 7 | # you may not use this file except in compliance with the License.
|
@@ -263,23 +263,29 @@ def is_feature_enabled(feature_flag_key, user_id, attributes = nil)
|
263 | 263 | end
|
264 | 264 |
|
265 | 265 | decision = @decision_service.get_variation_for_feature(feature_flag, user_id, attributes)
|
266 |
| - unless decision.nil? |
267 |
| - variation = decision['variation'] |
268 |
| - # Send event if Decision came from an experiment. |
269 |
| - if decision.source == Optimizely::DecisionService::DECISION_SOURCE_EXPERIMENT |
270 |
| - send_impression(decision.experiment, variation['key'], user_id, attributes) |
271 |
| - else |
272 |
| - @logger.log(Logger::DEBUG, |
273 |
| - "The user '#{user_id}' is not being experimented on in feature '#{feature_flag_key}'.") |
274 |
| - end |
| 266 | + if decision.nil? |
| 267 | + @logger.log(Logger::INFO, |
| 268 | + "Feature '#{feature_flag_key}' is not enabled for user '#{user_id}'.") |
| 269 | + return false |
| 270 | + end |
| 271 | + |
| 272 | + variation = decision['variation'] |
| 273 | + unless variation['featureEnabled'] |
| 274 | + @logger.log(Logger::INFO, |
| 275 | + "Feature '#{feature_flag_key}' is not enabled for user '#{user_id}'.") |
| 276 | + return false |
| 277 | + end |
275 | 278 |
|
276 |
| - @logger.log(Logger::INFO, "Feature '#{feature_flag_key}' is enabled for user '#{user_id}'.") |
277 |
| - return true |
| 279 | + if decision.source == Optimizely::DecisionService::DECISION_SOURCE_EXPERIMENT |
| 280 | + # Send event if Decision came from an experiment. |
| 281 | + send_impression(decision.experiment, variation['key'], user_id, attributes) |
| 282 | + else |
| 283 | + @logger.log(Logger::DEBUG, |
| 284 | + "The user '#{user_id}' is not being experimented on in feature '#{feature_flag_key}'.") |
278 | 285 | end
|
| 286 | + @logger.log(Logger::INFO, "Feature '#{feature_flag_key}' is enabled for user '#{user_id}'.") |
279 | 287 |
|
280 |
| - @logger.log(Logger::INFO, |
281 |
| - "Feature '#{feature_flag_key}' is not enabled for user '#{user_id}'.") |
282 |
| - false |
| 288 | + true |
283 | 289 | end
|
284 | 290 |
|
285 | 291 | def get_enabled_features(user_id, attributes = nil)
|
|
0 commit comments