ft_gem 3.1.11 → 3.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ft_gem/controllers/helpers.rb +10 -6
- data/lib/ft_gem/services/beta_service.rb +5 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a388bf5a96a2c5baec8e883e0438dbd0e7ec62f55fe37187e7e2c4034b25b58
|
4
|
+
data.tar.gz: e1d8d9f3ced0ec3429fc2ceae552a29f8ffee33ee88f760e6f0d2f7e313ed820
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 329f36b475d2d6ada6f46e271f4808a06d0d93698f234b1e7d8c35919acf4bf2d39afd021f2e83350d9b20826e35154e18b14a4a8b672640123fdc4f984bccb4
|
7
|
+
data.tar.gz: 4bd56b5a27dee8f04b3fe4668f6b323f80258ba45e2d73a20e810afe25da44aca06fea7cfca5ee084dc91990ca9ac0df3e6126510bb443497e30067526c31d29
|
@@ -8,16 +8,20 @@ module FtGem
|
|
8
8
|
|
9
9
|
def feature_toggle_status(name:, user_id: nil, url: nil)
|
10
10
|
toggles = FtShared.new.all_toggles
|
11
|
-
update_feature_toggles(toggles: toggles)
|
12
|
-
decoded_cookie = Base64.decode64(cookies[TOGGLE_COOKIE_NAME])
|
13
11
|
index = toggles.index { |toggle| toggle['attributes']['name'] == name }
|
14
12
|
return false if index.nil?
|
15
|
-
|
16
|
-
toggle_percentage = toggles[index.to_i]['attributes']['percentage']
|
13
|
+
|
17
14
|
whitelisted = FtShared.new.whitelisted?(url: url, whitelist_urls: toggles[index.to_i]['attributes']['whitelist-urls'])
|
15
|
+
return false unless whitelisted
|
16
|
+
|
17
|
+
return true if FtGem::Services::BetaService.public_beta?(cookie: "false",toggles: toggles, index: index)
|
18
|
+
return true if FtGem::Services::BetaService.private_beta?(user_id: user_id, toggles: toggles, index: index)
|
18
19
|
|
19
|
-
|
20
|
-
|
20
|
+
update_feature_toggles(toggles: toggles)
|
21
|
+
decoded_cookie = Base64.decode64(cookies[TOGGLE_COOKIE_NAME])
|
22
|
+
|
23
|
+
client_percentage = calc_client_percentage(decoded_cookie: decoded_cookie, toggle_name: name)
|
24
|
+
toggle_percentage = toggles[index.to_i]['attributes']['percentage']
|
21
25
|
|
22
26
|
return client_percentage.to_i <= toggle_percentage.to_i && whitelisted
|
23
27
|
rescue StandardError => e
|
@@ -5,8 +5,9 @@ module FtGem
|
|
5
5
|
return false unless user_id.present?
|
6
6
|
return false unless toggles.present?
|
7
7
|
|
8
|
-
attributes = toggles.dig(
|
8
|
+
attributes = toggles[index.to_i].dig('attributes')
|
9
9
|
|
10
|
+
Rails.logger.info("########### PRIVATE BETA status: #{attributes['status']}, include users: #{attributes['beta-users'].split(",").include?(user_id.to_s)} ################")
|
10
11
|
attributes['status'] == "privatebeta" && attributes['beta-users'].split(",").include?(user_id.to_s)
|
11
12
|
end
|
12
13
|
|
@@ -14,7 +15,9 @@ module FtGem
|
|
14
15
|
return false unless toggles.present?
|
15
16
|
|
16
17
|
attributes = toggles.dig(index.to_i, 'attributes')
|
17
|
-
|
18
|
+
|
19
|
+
Rails.logger.info("########### PUBLIC BETA cookie: #{cookie}, status: #{attributes['status']} ################")
|
20
|
+
attributes['status'] == "publicbeta" && cookie == "true"
|
18
21
|
end
|
19
22
|
end
|
20
23
|
end
|