splitclient-rb 3.1.0.pre.rc8 → 3.1.0.pre.rc9

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: b1309484de3281c553d149dedc90df953df886f6
4
- data.tar.gz: 3f4cc3a188da4d9c3167465b4d3e9886bc92320f
3
+ metadata.gz: 3037157b7408479db6d29868df4005078bf344c4
4
+ data.tar.gz: 20b2c1ef05f4ab0ea4114a748ef513e0b95fcf51
5
5
  SHA512:
6
- metadata.gz: 9d28027d4c955132b5064c331fb2d7a50104a8e04b5d7abc86bd102731324050572b021b02a4d5e384d2101e6c37351f158c50660706d26125d8c8619b45cb5c
7
- data.tar.gz: fe822d1c1f3395e0f8c48fed3dbee881dd8d7a9b15964bc5340d300c0cf2494fdba7406b6fe79c8f409955cc8fc02793374e26026cdd3ee34795c8aecb3a4f42
6
+ metadata.gz: 8894fab929d077ee1ab8906e0326076944a0bb4de41514dc8672e6d0ec0e21ffc9dc3394d6d66367c611304e4d6f81a4c4b9442acff078444e0391e490dc4577
7
+ data.tar.gz: '01656839c7ca92686ee5b0623de195ce42caa66673cc7873baf010b08d5e5c5b71b018f1f4d17b2997f3dae2f4a4ef7944e2df081a8596d22360861414fa55c6'
@@ -19,16 +19,16 @@ module SplitIoClient
19
19
  # delete fetched impressions afterwards
20
20
  def clear
21
21
  impressions = impression_keys.each_with_object([]) do |key, memo|
22
- @adapter.random_set_elements(key, @config.impressions_queue_size).each do |impression|
22
+ members = @adapter.random_set_elements(key, @config.impressions_queue_size)
23
+ members.each do |impression|
23
24
  parsed_impression = JSON.parse(impression)
24
25
 
25
26
  memo << {
26
27
  feature: parsed_impression['split_name'],
27
28
  impressions: parsed_impression.reject { |k, _| k == 'split_name' }
28
29
  }
29
-
30
- @adapter.delete_from_set(key, impression)
31
30
  end
31
+ @adapter.delete_from_set(key, members)
32
32
  end
33
33
 
34
34
  impressions
@@ -73,6 +73,13 @@ module SplitIoClient
73
73
  load_localhost_mode_features(splits_file)
74
74
  end
75
75
 
76
+ def get_treatments(key, split_names, attributes = nil)
77
+ split_names.each_with_object({}) do | (name), memo|
78
+ puts "name #{name} memo #{memo}"
79
+ memo.merge!(name => get_treatment(key, name, attributes))
80
+ end
81
+ end
82
+
76
83
  #
77
84
  # obtains the treatment for a given feature
78
85
  #
@@ -150,6 +150,14 @@ module SplitIoClient
150
150
  end
151
151
 
152
152
  def get_treatments(key, split_names, attributes = nil)
153
+
154
+ # This localhost behavior must live in in localhost_spit_factory#client
155
+ if is_localhost_mode?
156
+ return split_names.each_with_object({}) do | (name), memo|
157
+ memo.merge!(name => get_localhost_treatment(name))
158
+ end
159
+ end
160
+
153
161
  @splits_repository.get_splits(split_names).each_with_object({}) do |(name, data), memo|
154
162
  memo.merge!(name => get_treatment(key, name, attributes, data))
155
163
  end
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '3.1.0-rc8'
2
+ VERSION = '3.1.0-rc9'
3
3
  end
data/splitio.yml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ :api_key: 42fsieif0v7d9jqm3qrqn59bdn
3
+ :mode: :producer
4
+ :cache_adapter: :redis
5
+ :debug_enabled: true
6
+ :transport_debug_enabled: true
7
+ :impressions_refresh_rate: 30
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: splitclient-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0.pre.rc8
4
+ version: 3.1.0.pre.rc9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
@@ -295,6 +295,7 @@ files:
295
295
  - lib/splitclient-rb/version.rb
296
296
  - lib/splitclient-rb_utilitites.rb
297
297
  - splitclient-rb.gemspec
298
+ - splitio.yml
298
299
  - tasks/benchmark_get_treatment.rake
299
300
  - tasks/console.rake
300
301
  - tasks/rspec.rake