splitclient-rb 3.1.3.pre.rc2 → 3.1.3.pre.rc3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 704da81f022a4136c30b487b798c295d31be82c3
4
- data.tar.gz: b60f220a3a3394490f2a41d9f2b91ddecbe76d2e
3
+ metadata.gz: 668cd82c928db54fb89a78d7d56d2ad0364b328a
4
+ data.tar.gz: 4ac031261f14180902ebcf2bc7eda5ffe2634249
5
5
  SHA512:
6
- metadata.gz: e9b2e954c6eae5635c1f70ef1d2b3310c7807e7d4c4e86f2307eccaee3549b90509cff55e1c4804a70afbb71be1b67540239d285664c9f33f95fab46fbf2493f
7
- data.tar.gz: 127d0862776c94dbb39782385ca66550e7128ca120b735a2e285c1a4b9061f99fc11912b04ee8c0d12b0f796f33c21a49ef3713f22f8586c0b7d302fb3368538
6
+ metadata.gz: f8b29cf657bd7e391147ef7ac86dceaaf3f99f684888b25942941b778e46ec0098d266a37f45cb9c79f17785879786676c5c9c281f3b0b356c8671300a2916f4
7
+ data.tar.gz: c33af8ce108d8ef08e3d62c3f9237ff35481c720e84eb0429bf9536c5506ae527bd487a6a96803f9f8c0cf79ed3af0cbdcd189b989cf455999b4aae7ae4640ee
@@ -17,6 +17,8 @@ module SplitIoClient
17
17
  end
18
18
 
19
19
  def add_split(split)
20
+ return unless split[:name]
21
+
20
22
  @adapter.set_string(namespace_key("split.#{split[:name]}"), split.to_json)
21
23
  end
22
24
 
@@ -11,8 +11,18 @@ module SplitIoClient
11
11
  def call
12
12
  return if ENV['SPLITCLIENT_ENV'] == 'test'
13
13
 
14
- post_metrics
15
-
14
+ metrics_thread
15
+
16
+ if defined?(PhusionPassenger)
17
+ PhusionPassenger.on_event(:starting_worker_process) do |forked|
18
+ metrics_thread if forked
19
+ end
20
+ end
21
+ end
22
+
23
+ private
24
+
25
+ def metrics_thread
16
26
  Thread.new do
17
27
  @config.logger.info('Starting metrics service')
18
28
 
@@ -24,8 +34,6 @@ module SplitIoClient
24
34
  end
25
35
  end
26
36
 
27
- private
28
-
29
37
  def post_metrics
30
38
  metrics_client.post
31
39
  rescue StandardError => error
@@ -16,14 +16,24 @@ module SplitIoClient
16
16
  if ENV['SPLITCLIENT_ENV'] == 'test'
17
17
  store_segments
18
18
  else
19
- @sdk_blocker.segments_thread = Thread.new do
20
- @config.block_until_ready ? blocked_store : unblocked_store
19
+ segments_thread
20
+
21
+ if defined?(PhusionPassenger)
22
+ PhusionPassenger.on_event(:starting_worker_process) do |forked|
23
+ segments_thread if forked
24
+ end
21
25
  end
22
26
  end
23
27
  end
24
28
 
25
29
  private
26
30
 
31
+ def segments_thread
32
+ @sdk_blocker.segments_thread = Thread.new do
33
+ @config.block_until_ready ? blocked_store : unblocked_store
34
+ end
35
+ end
36
+
27
37
  def blocked_store
28
38
  loop do
29
39
  next unless @sdk_blocker.splits_repository.ready?
@@ -16,11 +16,11 @@ module SplitIoClient
16
16
  if ENV['SPLITCLIENT_ENV'] == 'test'
17
17
  store_splits
18
18
  else
19
- @sdk_blocker.splits_thread = Thread.new do
20
- loop do
21
- store_splits
19
+ splits_thread
22
20
 
23
- sleep(random_interval(@config.features_refresh_rate))
21
+ if defined?(PhusionPassenger)
22
+ PhusionPassenger.on_event(:starting_worker_process) do |forked|
23
+ splits_thread if forked
24
24
  end
25
25
  end
26
26
  end
@@ -28,6 +28,16 @@ module SplitIoClient
28
28
 
29
29
  private
30
30
 
31
+ def splits_thread
32
+ @sdk_blocker.splits_thread = Thread.new do
33
+ loop do
34
+ store_splits
35
+
36
+ sleep(random_interval(@config.features_refresh_rate))
37
+ end
38
+ end
39
+ end
40
+
31
41
  def store_splits
32
42
  data = splits_since(@splits_repository.get_change_number)
33
43
 
@@ -22,8 +22,11 @@ module SplitIoClient
22
22
 
23
23
  @splits_repository.splits.each_with_object([]) do |(name, split), memo|
24
24
  split_model = Engine::Models::Split.new(split)
25
+ split_view = build_split_view(name, split)
25
26
 
26
- memo << build_split_view(name, split) unless split_model.archived?
27
+ next if split_view[:name] == nil
28
+
29
+ memo << split_view unless split_model.archived?
27
30
  end
28
31
  end
29
32
 
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '3.1.3-rc2'
2
+ VERSION = '3.1.3-rc3'
3
3
  end
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.3.pre.rc2
4
+ version: 3.1.3.pre.rc3
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-12-22 00:00:00.000000000 Z
11
+ date: 2016-12-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler