pioneer_ruby_sdk 1.0.1 → 1.0.2

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
  SHA256:
3
- metadata.gz: e95e45596e7e7c90a6e718e412191ea4868cfc700b4481116bcb26470ebb4418
4
- data.tar.gz: 1dc70bede8bf710de8acce3400e441cc5da366113f90380296569c4da79a6330
3
+ metadata.gz: 7d43602bc04e742e3049e6401d1a30ab173d6aa61affcab79f71a1be6028f208
4
+ data.tar.gz: '0835fb94ca06f8fee0de534b113fd13b7be8f3b68f95b6d29c6ac9d8d93336ed'
5
5
  SHA512:
6
- metadata.gz: 6574f8de533d0c54004c0977d233297017a822059f8793c6b9a1560209ea2d519a9ce7102685527c99ff7b665c15b0b876164a6919b4bee38ca4683f73370665
7
- data.tar.gz: ea4379f0f47571dcc88dfc4d2dfd1f872882321bcab7f9580d76ddfc2ecd6ad24483f4af409328190b0a82b64395100fdca6709900e57d64b281954cf8a08732
6
+ metadata.gz: 96314e8852a23e78a98d57e9deb5e763b3b508f1a8d59f5203e8ffcefe7419999fcb83975bb5760c318d1495797d06a2b2bce541ca019e88a847cf6df8cacf18
7
+ data.tar.gz: 26bb595a1552c1035924c280968ecd47c30f5ad42487ebfd1f167d8be88e0d3282c54aa729cbfef4f0f969498f8b4fd86801148f298b59bb607ed2c6166dae27
data/lib/feature_state.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require_relative 'strategy'
2
2
 
3
3
  class FeatureState
4
- attr_reader :value
4
+ attr_reader :value, :strategy
5
5
  def initialize(feature_state_object)
6
6
  @title = feature_state_object[:title],
7
7
  @value = feature_state_object[:value],
@@ -2,7 +2,8 @@ require_relative 'event_source_client'
2
2
  require_relative 'context'
3
3
  require_relative 'client_with_context'
4
4
 
5
- class Pioneer_Ruby_Sdk
5
+ # wrapper for event source client
6
+ class PioneerRubySdk
6
7
  def initialize(server_address, sdk_key)
7
8
  @server_address = server_address
8
9
  @sdk_key = sdk_key
data/lib/strategy.rb CHANGED
@@ -1,10 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ # handles the calculation of rollout for a given context
1
4
  class Strategy
2
5
  def initialize(percentage)
3
6
  @percentage = percentage
4
7
  @modulus = 100
5
8
  end
6
9
 
7
-
8
10
  def calculate(context)
9
11
  key = context.get_key()
10
12
  hashed_percentage = get_hash_based_percentage(key)
@@ -13,6 +15,6 @@ class Strategy
13
15
 
14
16
  def get_hash_based_percentage(string)
15
17
  sum = string.bytes.sum()
16
- return ((sum % @modulus) + 1) / @modulus
18
+ return ((sum % @modulus) + 1)
17
19
  end
18
20
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pioneer_ruby_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jimmy Zheng
@@ -45,7 +45,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  requirements: []
48
- rubygems_version: 3.1.4
48
+ rubygems_version: 3.2.15
49
49
  signing_key:
50
50
  specification_version: 4
51
51
  summary: SDK wrapper for using Pioneer feature flag application