splitclient-rb 3.1.0.pre.rc11 → 3.1.0.pre.rc12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES.txt +1 -0
- data/lib/cache/repositories/impressions/redis_repository.rb +1 -0
- data/lib/engine/parser/split_adapter.rb +31 -27
- data/lib/splitclient-rb/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 792c1c774edec245bff63e2a6bc6a400df5b3e66
|
4
|
+
data.tar.gz: 73b1d0d2087fa5c75bfd3adb4e38bbcd83b73584
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d51c707dcad7e97aab05edb06651f11b9265af9ee2769eb7d92684dfc189fa90dd546fbf895dbeead0163e798249a13b20af5e8351a20ead2b40a5fc94a1e40f
|
7
|
+
data.tar.gz: e27d3b2122d0b362e5c3d7455545720965f2a8542d194e0c9fa8d2ea9bd406bbb3c4b8db2eaf3815fc65d48c419f0b64fe89fce2eabd6c61ef9a46e2d9a64d5f
|
data/CHANGES.txt
CHANGED
@@ -135,6 +135,9 @@ module SplitIoClient
|
|
135
135
|
#
|
136
136
|
|
137
137
|
def metrics_sender
|
138
|
+
# TODO: Send metrics in main thread for test ENV
|
139
|
+
return if ENV['SPLITCLIENT_ENV'] == 'test'
|
140
|
+
|
138
141
|
Thread.new do
|
139
142
|
loop do
|
140
143
|
begin
|
@@ -158,6 +161,9 @@ module SplitIoClient
|
|
158
161
|
|
159
162
|
@config.logger.info("Starting impressions service...")
|
160
163
|
|
164
|
+
# TODO: Send impressions in main thread for test ENV
|
165
|
+
return if ENV['SPLITCLIENT_ENV'] == 'test'
|
166
|
+
|
161
167
|
Thread.new do
|
162
168
|
loop do
|
163
169
|
begin
|
@@ -170,6 +176,7 @@ module SplitIoClient
|
|
170
176
|
end
|
171
177
|
end
|
172
178
|
end
|
179
|
+
|
173
180
|
@config.logger.info("Started impressions service")
|
174
181
|
end
|
175
182
|
|
@@ -205,40 +212,37 @@ module SplitIoClient
|
|
205
212
|
|
206
213
|
# REFACTOR
|
207
214
|
def impressions_array(impressions = nil)
|
208
|
-
|
209
|
-
|
210
|
-
test_impression_array = []
|
211
|
-
filtered_impressions = []
|
212
|
-
keys_treatments_seen = []
|
215
|
+
popped_impressions = impressions ? impressions : @impressions_repository.clear
|
216
|
+
test_impression_array, filtered_impressions, keys_treatments_seen = [], [], []
|
213
217
|
|
214
|
-
if
|
215
|
-
popped_impressions.each do |item|
|
216
|
-
item_hash = "#{item[:impressions]['key_name']}:#{item[:impressions]['treatment']}"
|
218
|
+
return [] if popped_impressions.empty?
|
217
219
|
|
218
|
-
|
220
|
+
popped_impressions.each do |item|
|
221
|
+
item_hash = "#{item[:feature]}:#{item[:impressions]['key_name']}:#{item[:impressions]['treatment']}"
|
219
222
|
|
220
|
-
|
221
|
-
filtered_impressions << item
|
222
|
-
end
|
223
|
+
next if keys_treatments_seen.include?(item_hash)
|
223
224
|
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
test_impression_array = features.each_with_object([]) do |feature, memo|
|
228
|
-
current_impressions = filtered_impressions.select { |i| i[:feature] == feature }
|
229
|
-
current_impressions.map! do |i|
|
230
|
-
{
|
231
|
-
keyName: i[:impressions]['key_name'],
|
232
|
-
treatment: i[:impressions]['treatment'],
|
233
|
-
time: i[:impressions]['time']
|
234
|
-
}
|
235
|
-
end
|
225
|
+
keys_treatments_seen << item_hash
|
226
|
+
filtered_impressions << item
|
227
|
+
end
|
236
228
|
|
237
|
-
|
238
|
-
|
239
|
-
|
229
|
+
return [] if filtered_impressions.empty?
|
230
|
+
|
231
|
+
features = filtered_impressions.map { |i| i[:feature] }.uniq
|
232
|
+
test_impression_array = features.each_with_object([]) do |feature, memo|
|
233
|
+
current_impressions = filtered_impressions.select { |i| i[:feature] == feature }
|
234
|
+
current_impressions.map! do |i|
|
235
|
+
{
|
236
|
+
keyName: i[:impressions]['key_name'],
|
237
|
+
treatment: i[:impressions]['treatment'],
|
238
|
+
time: i[:impressions]['time']
|
240
239
|
}
|
241
240
|
end
|
241
|
+
|
242
|
+
memo << {
|
243
|
+
testName: feature,
|
244
|
+
keyImpressions: current_impressions
|
245
|
+
}
|
242
246
|
end
|
243
247
|
|
244
248
|
test_impression_array
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: splitclient-rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.0.pre.
|
4
|
+
version: 3.1.0.pre.rc12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Split Software
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-11-
|
11
|
+
date: 2016-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|