splitclient-rb 8.1.1.pre.rc3 → 8.1.2.pre.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd080651012addd19857407fc736636f9efe6a63dc81bf729d1fee4476ffc378
4
- data.tar.gz: c2f7567e89777d23a950f25dfe67948858226c5ebbe0e497afcde48150440997
3
+ metadata.gz: 5dc55fea71b927bd6fd872ea6ceae9f2a28e68df75abab73a3d03be5c9018a2c
4
+ data.tar.gz: 759416c234e9d4cf8baf938b144c8780b896bfdf6bc350af3328269b65984073
5
5
  SHA512:
6
- metadata.gz: 22a8b4aae91df29d09a9a6c0b71f198a0997e2b5c237ae3f3963d922dcd9874a4cea1ed52d85707bd733501c77968a515c9e435ac77340f72480cc5cf0da316c
7
- data.tar.gz: '0569443f03eeff1c21f44cbdae8d238a8162584fe36f5e62144cddd3abd134d80f96ae4e27375f551df27b8437f838fabf427a35dea192ee7f64cba50f47544d'
6
+ metadata.gz: bb2a069489452c745013a4276649cace56061905c38b053be9fd51c44d3781d35c7a3641e64efd05e01cee03499f7ee6fe56415d6c450685800cf99eb20ea67d
7
+ data.tar.gz: 1125ee18d63b79ff61b94863a9c1855936db4ffeee82fad131206f518d099beabe88672dc9d67cca7bd47e345c78e355f9b7627eb5e1b08cb0acb31f3327917d
@@ -7,4 +7,3 @@
7
7
 
8
8
 
9
9
  ## Extra Notes
10
-
@@ -1,7 +1,21 @@
1
- on: [push, pull_request]
1
+ name: ci
2
+ on:
3
+ pull_request:
4
+ branches:
5
+ - development
6
+ - master
7
+ push:
8
+ branches:
9
+ - development
10
+ - master
11
+
12
+ concurrency:
13
+ group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
14
+ cancel-in-progress: true
2
15
 
3
16
  jobs:
4
17
  test:
18
+ name: Test
5
19
  runs-on: ubuntu-latest
6
20
  services:
7
21
  redis:
@@ -9,19 +23,22 @@ jobs:
9
23
  ports:
10
24
  - 6379:6379
11
25
  strategy:
26
+ fail-fast: false
12
27
  matrix:
13
- ruby: [ '2.5.0', '3.1.1' ]
28
+ version:
29
+ - '2.5.0'
30
+ - '3.1.1'
14
31
 
15
32
  steps:
16
33
  - name: Checkout code
17
- uses: actions/checkout@v2
34
+ uses: actions/checkout@v3
18
35
  with:
19
36
  fetch-depth: 0
20
37
 
21
- - name: Set up Ruby ${{ matrix.ruby }}
38
+ - name: Setup Ruby ${{ matrix.version }}
22
39
  uses: ruby/setup-ruby@v1
23
40
  with:
24
- ruby-version: ${{ matrix.ruby }}
41
+ ruby-version: ${{ matrix.version }}
25
42
 
26
43
  - name: Install dependencies
27
44
  run: bundle install
@@ -30,47 +47,37 @@ jobs:
30
47
  run: bundle exec rake
31
48
 
32
49
  - name: Fix code coverage paths
33
- working-directory: ./coverage
50
+ working-directory: coverage
34
51
  run: |
35
52
  sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' .resultset.json
36
53
  ruby -rjson -e 'sqube = JSON.load(File.read(".resultset.json"))["RSpec"]["coverage"].transform_values {|lines| lines["lines"]}; total = { "RSpec" => { "coverage" => sqube, "timestamp" => Time.now.to_i }}; puts JSON.dump(total)' > .resultset.sonarqube.json
37
54
 
55
+ - name: Set VERSION env
56
+ run: echo "VERSION=$(cat lib/splitclient-rb/version.rb | grep VERSION | awk -F "'" '{print $2}')" >> $GITHUB_ENV
38
57
 
39
58
  - name: SonarQube Scan (Push)
40
- if: github.event_name == 'push'
41
- uses: SonarSource/sonarcloud-github-action@v1.5
59
+ if: matrix.version == '3.1.1' && github.event_name == 'push'
60
+ uses: SonarSource/sonarcloud-github-action@v1.9
42
61
  env:
43
62
  SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
63
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44
64
  with:
45
65
  projectBaseDir: .
46
66
  args: >
47
67
  -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
48
- -Dsonar.projectName=${{ github.event.repository.name }}
49
- -Dsonar.projectKey=${{ github.event.repository.name }}
50
- -Dsonar.ruby.coverage.reportPaths=coverage/.resultset.sonarqube.json
51
- -Dsonar.c.file.suffixes=-
52
- -Dsonar.cpp.file.suffixes=-
53
- -Dsonar.objc.file.suffixes=-
54
- -Dsonar.links.ci="https://github.com/splitio/${{ github.event.repository.name }}/actions"
55
- -Dsonar.links.scm="https://github.com/splitio/${{ github.event.repository.name }}"
68
+ -Dsonar.projectVersion=${{ env.VERSION }}
56
69
 
57
70
  - name: SonarQube Scan (Pull Request)
58
- if: github.event_name == 'pull_request'
59
- uses: SonarSource/sonarcloud-github-action@v1.5
71
+ if: matrix.version == '3.1.1' && github.event_name == 'pull_request'
72
+ uses: SonarSource/sonarcloud-github-action@v1.9
60
73
  env:
61
74
  SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }}
75
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62
76
  with:
63
77
  projectBaseDir: .
64
78
  args: >
65
79
  -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }}
66
- -Dsonar.projectName=${{ github.event.repository.name }}
67
- -Dsonar.projectKey=${{ github.event.repository.name }}
68
- -Dsonar.ruby.coverage.reportPaths=coverage/.resultset.sonarqube.json
69
- -Dsonar.c.file.suffixes=-
70
- -Dsonar.cpp.file.suffixes=-
71
- -Dsonar.objc.file.suffixes=-
72
- -Dsonar.links.ci="https://github.com/splitio/${{ github.event.repository.name }}/actions"
73
- -Dsonar.links.scm="https://github.com/splitio/${{ github.event.repository.name }}"
80
+ -Dsonar.projectVersion=${{ env.VERSION }}
74
81
  -Dsonar.pullrequest.key=${{ github.event.pull_request.number }}
75
82
  -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }}
76
83
  -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }}
@@ -16,10 +16,10 @@ jobs:
16
16
  uses: actions/checkout@v2
17
17
  with:
18
18
  fetch-depth: 0
19
-
19
+
20
20
  - name: Set Current year
21
21
  run: "echo CURRENT=$(date +%Y) >> $GITHUB_ENV"
22
-
22
+
23
23
  - name: Set Previous Year
24
24
  run: "echo PREVIOUS=$(($CURRENT-1)) >> $GITHUB_ENV"
25
25
 
data/.gitignore CHANGED
@@ -53,4 +53,6 @@ dump.rdb
53
53
  # Ignore Appraisal gemfile.lock files
54
54
  /gemfiles/*.gemfile.lock
55
55
 
56
- release.sh
56
+ release.sh
57
+
58
+ .scannerwork
data/CHANGES.txt CHANGED
@@ -1,5 +1,8 @@
1
1
  CHANGES
2
2
 
3
+ 8.1.2 (May 15, 2023)
4
+ - Updated terminology on the SDKs codebase to be more aligned with current standard without causing a breaking change. The core change is the term split for feature flag on things like logs and intensense comments.
5
+
3
6
  8.1.1 (Mar 17, 2023)
4
7
  - Added retries with backoff when the sdk tries to connect to the Streaming service and it is not available.
5
8
  - Updated the way that the sdk write mtks in redis.
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  ## Overview
5
5
  This SDK is designed to work with Split, the platform for controlled rollouts, which serves features to your users via a Split feature flag to manage your complete customer experience.
6
-
6
+
7
7
  [![Twitter Follow](https://img.shields.io/twitter/follow/splitsoftware.svg?style=social&label=Follow&maxAge=1529000)](https://twitter.com/intent/follow?screen_name=splitsoftware)
8
8
 
9
9
  ## Compatibility
@@ -24,11 +24,11 @@ require 'splitclient-rb'
24
24
  split_factory = SplitIoClient::SplitFactory.new('SDK_API_KEY')
25
25
  split_client = split_factory.client
26
26
 
27
- begin
28
- split_client.block_until_ready
27
+ begin
28
+ split_client.block_until_ready
29
29
  rescue SplitIoClient::SDKBlockerTimeoutExpiredException
30
- puts 'SDK is not ready. Decide whether to continue or abort execution'
31
- end
30
+ puts 'SDK is not ready. Decide whether to continue or abort execution'
31
+ end
32
32
 
33
33
  treatment = split_client.get_treatment('CUSTOMER_ID', 'SPLIT_NAME');
34
34
 
@@ -41,7 +41,7 @@ else
41
41
  end
42
42
  ```
43
43
  For multi-process environments you also need to setup Split Synchronizer. See [Sharing state: Redis integration](https://help.split.io/hc/en-us/articles/360020673251-Ruby-SDK#sharing-state-redis-integration)
44
-
44
+
45
45
  Please refer to [our official docs](https://help.split.io/hc/en-us/articles/360020673251-Ruby-SDK) to learn about all the functionality provided by our SDK and the configuration options available for tailoring it to your current application setup.
46
46
 
47
47
  ## Submitting issues
@@ -49,17 +49,17 @@ The Split team monitors all issues submitted to this [issue tracker](https://git
49
49
 
50
50
  ## Contributing
51
51
  Please see [Contributors Guide](CONTRIBUTORS-GUIDE.md) to find all you need to submit a Pull Request (PR).
52
-
52
+
53
53
  ## License
54
54
  Licensed under the Apache License, Version 2.0. See: [Apache License](http://www.apache.org/licenses/).
55
55
 
56
- ## About Split
56
+ ## About Split
57
57
  Split is the leading Feature Delivery Platform for engineering teams that want to confidently deploy features as fast as they can develop them. Split’s fine-grained management, real-time monitoring, and data-driven experimentation ensure that new features will improve the customer experience without breaking or degrading performance. Companies like Twilio, Salesforce, GoDaddy and WePay trust Split to power their feature delivery.
58
-
58
+
59
59
  To learn more about Split, contact hello@split.io, or get started with feature flags for free at https://www.split.io/signup.
60
-
60
+
61
61
  Split has built and maintains SDKs for:
62
-
62
+
63
63
  * Java [Github](https://github.com/splitio/java-client) [Docs](https://help.split.io/hc/en-us/articles/360020405151-Java-SDK)
64
64
  * Javascript [Github](https://github.com/splitio/javascript-client) [Docs](https://help.split.io/hc/en-us/articles/360020448791-JavaScript-SDK)
65
65
  * Node [Github](https://github.com/splitio/javascript-client) [Docs](https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK)
@@ -70,9 +70,9 @@ Split has built and maintains SDKs for:
70
70
  * GO [Github](https://github.com/splitio/go-client) [Docs](https://help.split.io/hc/en-us/articles/360020093652-Go-SDK)
71
71
  * Android [Github](https://github.com/splitio/android-client) [Docs](https://help.split.io/hc/en-us/articles/360020343291-Android-SDK)
72
72
  * iOS [Github](https://github.com/splitio/ios-client) [Docs](https://help.split.io/hc/en-us/articles/360020401491-iOS-SDK)
73
-
73
+
74
74
  For a comprehensive list of open source projects visit our [Github page](https://github.com/splitio?utf8=%E2%9C%93&query=%20only%3Apublic%20).
75
-
75
+
76
76
  **Learn more about Split:**
77
-
77
+
78
78
  Visit [split.io/product](https://www.split.io/product) for an overview of Split, or visit our documentation at [help.split.io](http://help.split.io) for more detailed information.
@@ -16,7 +16,7 @@ module SplitIoClient
16
16
 
17
17
  size = @adapter.add_to_queue(unique_keys_key, uniques_formatter(uniques))
18
18
 
19
- @adapter.expire(unique_keys_key, EXPIRE_SECONDS) if uniques.length == size.last
19
+ @adapter.expire(unique_keys_key, EXPIRE_SECONDS) if uniques.length == size
20
20
  rescue StandardError => e
21
21
  @config.log_found_exception(__method__.to_s, e)
22
22
  end
@@ -1,3 +1,3 @@
1
1
  module SplitIoClient
2
- VERSION = '8.1.1.pre.rc3'
2
+ VERSION = '8.1.2.pre.rc1'
3
3
  end
@@ -0,0 +1,5 @@
1
+ sonar.projectKey=ruby-client
2
+ sonar.projectKey=ruby-client
3
+ sonar.sources=lib
4
+ sonar.tests=spec
5
+ sonar.ruby.coverage.reportPaths=coverage/.resultset.sonarqube.json
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: 8.1.1.pre.rc3
4
+ version: 8.1.2.pre.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Split Software
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-20 00:00:00.000000000 Z
11
+ date: 2023-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: allocation_stats
@@ -543,6 +543,7 @@ files:
543
543
  - lib/splitclient-rb/utilitites.rb
544
544
  - lib/splitclient-rb/validators.rb
545
545
  - lib/splitclient-rb/version.rb
546
+ - sonar-project.properties
546
547
  - splitclient-rb.gemspec
547
548
  - tasks/benchmark_get_treatment.rake
548
549
  - tasks/irb.rake