launchdarkly-server-sdk 5.8.2 → 6.0.0

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.
Files changed (57) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +28 -122
  3. data/.ldrelease/circleci/linux/execute.sh +18 -0
  4. data/.ldrelease/circleci/mac/execute.sh +18 -0
  5. data/.ldrelease/circleci/template/build.sh +29 -0
  6. data/.ldrelease/circleci/template/publish.sh +23 -0
  7. data/.ldrelease/circleci/template/set-gem-home.sh +7 -0
  8. data/.ldrelease/circleci/template/test.sh +10 -0
  9. data/.ldrelease/circleci/template/update-version.sh +8 -0
  10. data/.ldrelease/circleci/windows/execute.ps1 +19 -0
  11. data/.ldrelease/config.yml +7 -3
  12. data/CHANGELOG.md +9 -0
  13. data/CONTRIBUTING.md +1 -1
  14. data/Gemfile.lock +69 -42
  15. data/README.md +2 -2
  16. data/azure-pipelines.yml +1 -1
  17. data/launchdarkly-server-sdk.gemspec +16 -16
  18. data/lib/ldclient-rb.rb +0 -1
  19. data/lib/ldclient-rb/config.rb +15 -3
  20. data/lib/ldclient-rb/evaluation_detail.rb +293 -0
  21. data/lib/ldclient-rb/events.rb +1 -4
  22. data/lib/ldclient-rb/file_data_source.rb +1 -1
  23. data/lib/ldclient-rb/impl/evaluator.rb +225 -0
  24. data/lib/ldclient-rb/impl/evaluator_bucketing.rb +74 -0
  25. data/lib/ldclient-rb/impl/evaluator_operators.rb +160 -0
  26. data/lib/ldclient-rb/impl/event_sender.rb +56 -40
  27. data/lib/ldclient-rb/impl/integrations/consul_impl.rb +5 -5
  28. data/lib/ldclient-rb/impl/integrations/dynamodb_impl.rb +5 -5
  29. data/lib/ldclient-rb/impl/integrations/redis_impl.rb +5 -9
  30. data/lib/ldclient-rb/impl/model/serialization.rb +62 -0
  31. data/lib/ldclient-rb/impl/unbounded_pool.rb +34 -0
  32. data/lib/ldclient-rb/ldclient.rb +14 -9
  33. data/lib/ldclient-rb/polling.rb +1 -4
  34. data/lib/ldclient-rb/requestor.rb +25 -15
  35. data/lib/ldclient-rb/stream.rb +9 -6
  36. data/lib/ldclient-rb/util.rb +12 -8
  37. data/lib/ldclient-rb/version.rb +1 -1
  38. data/spec/evaluation_detail_spec.rb +135 -0
  39. data/spec/event_sender_spec.rb +20 -2
  40. data/spec/http_util.rb +11 -1
  41. data/spec/impl/evaluator_bucketing_spec.rb +111 -0
  42. data/spec/impl/evaluator_clause_spec.rb +55 -0
  43. data/spec/impl/evaluator_operators_spec.rb +141 -0
  44. data/spec/impl/evaluator_rule_spec.rb +96 -0
  45. data/spec/impl/evaluator_segment_spec.rb +125 -0
  46. data/spec/impl/evaluator_spec.rb +305 -0
  47. data/spec/impl/evaluator_spec_base.rb +75 -0
  48. data/spec/impl/model/serialization_spec.rb +41 -0
  49. data/spec/launchdarkly-server-sdk_spec.rb +1 -1
  50. data/spec/ldclient_end_to_end_spec.rb +34 -0
  51. data/spec/ldclient_spec.rb +10 -8
  52. data/spec/polling_spec.rb +2 -2
  53. data/spec/redis_feature_store_spec.rb +2 -2
  54. data/spec/requestor_spec.rb +11 -11
  55. metadata +89 -46
  56. data/lib/ldclient-rb/evaluation.rb +0 -462
  57. data/spec/evaluation_spec.rb +0 -789
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 509c387994cfb92e5d258eeb2190532f87a33805527eeba659a78472efe76831
4
- data.tar.gz: edabc361b4728b6228136cd79171e11cd22f05b78453f7b0f4b3b513cf2e0d02
3
+ metadata.gz: fd5b1ccdc654b9ca033547f366d12fe0dde0d25245459de79f9cf1e3ed0e9b79
4
+ data.tar.gz: ee6461f8365f0df76055b8c1e5e71b58934df15b24bba22c8b61eb99619b21dc
5
5
  SHA512:
6
- metadata.gz: 67e083a20014a4e9c9f8b9dbadec403563f2802191f8bdf844da86f7800076ef584c860541c3dc76472b2c79ad289c3558832d50482daa882577e8dc18e5b59f
7
- data.tar.gz: c0fcaca18d915e9aadc53bca4ef609aa04da63a0aca5aae6826ee43caa6d2110dc268848fb6886cfdb1b96753dfafa3236162ead4d4e4ab67888f2ef1e89f37f
6
+ metadata.gz: d6723297fc581f47325f0147f915efa543f1daf27d01af6d63a13546a5d18e800743060478e9f40c62083ceae5bcd8acfaa8c84d83fc870b893069ae51a9f519
7
+ data.tar.gz: 89b4885e33f1ebf61fd88b4a65c4da060087901aaf9772100875888b0983f420099b23971c6b8ba8d71697da410daf0b43e88c946192cb8899682aff9b77a64d
@@ -1,134 +1,40 @@
1
- version: 2
2
-
1
+ # This CircleCI configuration was generated by Releaser for a specific release. It is not to be used
2
+ # for regular CI builds. Be aware that rerunning this build may cause it to repeat release actions
3
+ # such as publishing to a package manager. However, it will not perform any Git actions other than
4
+ # reading the repository.
5
+ version: 2.1
3
6
  workflows:
4
- version: 2
5
7
  test:
6
8
  jobs:
7
- - test-misc-rubies
8
- - test-2.2
9
- - test-2.3
10
- - test-2.4
11
- - test-2.5
12
- - test-2.6
13
- - test-jruby-9.2
14
-
15
- ruby-docker-template: &ruby-docker-template
16
- steps:
17
- - checkout
18
- - run: |
19
- if [[ $CIRCLE_JOB == test-jruby* ]]; then
20
- gem install jruby-openssl; # required by bundler, no effect on Ruby MRI
21
- fi
22
- - run: ruby -v
23
- - run: gem install bundler -v 1.17.3
24
- - run: bundle install
25
- - run: mkdir ./rspec
26
- - run: bundle exec rspec --format progress --format RspecJunitFormatter -o ./rspec/rspec.xml spec
27
- - store_test_results:
28
- path: ./rspec
29
- - store_artifacts:
30
- path: ./rspec
31
-
9
+ - release_linux:
10
+ context: org-global
32
11
  jobs:
33
- test-2.2:
34
- <<: *ruby-docker-template
12
+ release_linux:
35
13
  docker:
36
- - image: circleci/ruby:2.2.10-jessie
37
- - image: consul
38
- - image: redis
39
- - image: amazon/dynamodb-local
40
- test-2.3:
41
- <<: *ruby-docker-template
42
- docker:
43
- - image: circleci/ruby:2.3.7-jessie
44
- - image: consul
45
- - image: redis
46
- - image: amazon/dynamodb-local
47
- test-2.4:
48
- <<: *ruby-docker-template
49
- docker:
50
- - image: circleci/ruby:2.4.5-stretch
51
- - image: consul
52
- - image: redis
53
- - image: amazon/dynamodb-local
54
- test-2.5:
55
- <<: *ruby-docker-template
56
- docker:
57
- - image: circleci/ruby:2.5.3-stretch
58
- - image: consul
59
- - image: redis
60
- - image: amazon/dynamodb-local
61
- test-2.6:
62
- <<: *ruby-docker-template
63
- docker:
64
- - image: circleci/ruby:2.6.2-stretch
65
- - image: consul
66
- - image: redis
67
- - image: amazon/dynamodb-local
68
- test-jruby-9.2:
69
- <<: *ruby-docker-template
70
- docker:
71
- - image: circleci/jruby:9-jdk
72
- - image: consul
73
- - image: redis
74
- - image: amazon/dynamodb-local
75
-
76
- # The following very slow job uses an Ubuntu container to run the Ruby versions that
77
- # CircleCI doesn't provide Docker images for.
78
- test-misc-rubies:
79
- machine:
80
- image: circleci/classic:latest
14
+ - image: circleci/ruby:2.6.6-buster
81
15
  environment:
82
- - RUBIES: "jruby-9.1.17.0"
16
+ LD_RELEASE_CIRCLECI_TYPE: linux
17
+ LD_RELEASE_BRANCH: "master"
18
+ LD_RELEASE_CIRCLECI_BRANCH: ""
19
+ LD_RELEASE_DOCS_GITHUB_PAGES: "1"
20
+ LD_RELEASE_DOCS_TITLE: ""
21
+ LD_RELEASE_PROJECT: "ruby-server-sdk"
22
+ LD_RELEASE_PROJECT_TEMPLATE: "ruby"
23
+ LD_RELEASE_VERSION: "6.0.0"
24
+ LD_SKIP_DATABASE_TESTS: "1"
83
25
  steps:
84
- - run: sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
85
- - run: sudo apt-get -q update
86
- - run: sudo apt-get -qy install redis-server
87
- - run: sudo apt-cache policy docker-ce
88
- - run: sudo apt-get -qy install docker-ce
89
26
  - checkout
90
27
  - run:
91
- name: install all Ruby versions
92
- command: "parallel rvm install ::: $RUBIES"
93
- - run:
94
- name: bundle install for all versions
95
- shell: /bin/bash -leo pipefail # need -l in order for "rvm use" to work
96
- command: |
97
- set -e;
98
- for i in $RUBIES;
99
- do
100
- rvm use $i;
101
- if [[ $i == jruby* ]]; then
102
- gem install jruby-openssl; # required by bundler, no effect on Ruby MRI
103
- fi
104
- # bundler 2.0 may be preinstalled, we need to remove it if so
105
- yes | gem uninstall bundler --version '>=2.0' || true;
106
- gem install bundler -v 1.17.3;
107
- bundle install;
108
- mv Gemfile.lock "Gemfile.lock.$i"
109
- done
110
- - run:
111
- name: start DynamoDB
112
- command: docker run -p 8000:8000 amazon/dynamodb-local
113
- background: true
114
- - run:
115
- name: download Consul
116
- command: wget https://releases.hashicorp.com/consul/0.8.0/consul_0.8.0_linux_amd64.zip
28
+ name: "Releaser: build"
29
+ command: .ldrelease/circleci/mac/execute.sh build .ldrelease/circleci/template/build.sh
117
30
  - run:
118
- name: extract Consul
119
- command: unzip consul_0.8.0_linux_amd64.zip
31
+ name: "Releaser: test"
32
+ command: .ldrelease/circleci/mac/execute.sh test .ldrelease/circleci/template/test.sh
120
33
  - run:
121
- name: start Consul
122
- command: ./consul agent -dev
123
- background: true
34
+ name: "Releaser: build-docs"
35
+ command: .ldrelease/circleci/mac/execute.sh build-docs .ldrelease/build-docs.sh
124
36
  - run:
125
- name: run tests for all versions
126
- shell: /bin/bash -leo pipefail
127
- command: |
128
- set -e;
129
- for i in $RUBIES;
130
- do
131
- rvm use $i;
132
- cp "Gemfile.lock.$i" Gemfile.lock;
133
- bundle exec rspec spec;
134
- done
37
+ name: "Releaser: publish"
38
+ command: .ldrelease/circleci/mac/execute.sh publish .ldrelease/circleci/template/publish.sh
39
+ - store_artifacts:
40
+ path: artifacts
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+
3
+ set -ue
4
+
5
+ # Performs a delegated release step in a CircleCI Linux container. This mechanism is described
6
+ # in scripts/circleci/README.md. All of the necessary environment variables should already be
7
+ # in the generated CircleCI configuration.
8
+
9
+ mkdir -p artifacts
10
+
11
+ export LD_RELEASE_TEMP_DIR=/tmp/project-releaser-temp
12
+ mkdir -p ${LD_RELEASE_TEMP_DIR}
13
+
14
+ STEP="$1"
15
+ SCRIPT="$2"
16
+ echo
17
+ echo "[${STEP}] executing ${SCRIPT}"
18
+ "./${SCRIPT}"
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+
3
+ set -ue
4
+
5
+ # Performs a delegated release step in a CircleCI Mac container. This mechanism is described
6
+ # in scripts/circleci/README.md. All of the necessary environment variables should already be
7
+ # in the generated CircleCI configuration.
8
+
9
+ mkdir -p artifacts
10
+
11
+ export LD_RELEASE_TEMP_DIR=/tmp/project-releaser-temp
12
+ mkdir -p ${LD_RELEASE_TEMP_DIR}
13
+
14
+ STEP="$1"
15
+ SCRIPT="$2"
16
+ echo
17
+ echo "[${STEP}] executing ${SCRIPT}"
18
+ "./${SCRIPT}"
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+
3
+ set -ue
4
+
5
+ # Standard build.sh for Ruby-based projects that publish a gem
6
+
7
+ echo "Using gem $(gem --version)"
8
+
9
+ #shellcheck source=/dev/null
10
+ source "$(dirname "$0")/set-gem-home.sh"
11
+
12
+ # If the gemspec specifies a certain version of bundler, we need to make sure we install that version.
13
+ echo "Installing bundler"
14
+ GEMSPEC_BUNDLER_VERSION=$(sed -n -e "s/.*['\"]bundler['\"], *['\"]\([^'\"]*\)['\"]/\1/p" ./*.gemspec | tr -d ' ')
15
+ if [ -n "${GEMSPEC_BUNDLER_VERSION}" ]; then
16
+ GEMSPEC_OPTIONS="-v ${GEMSPEC_BUNDLER_VERSION}"
17
+ else
18
+ GEMSPEC_OPTIONS=""
19
+ fi
20
+ gem install bundler ${GEMSPEC_OPTIONS} || { echo "installing bundler failed" >&2; exit 1; }
21
+
22
+ echo; echo "Installing dependencies"
23
+ bundle install
24
+
25
+ # Build Ruby Gem - this assumes there is a single .gemspec file in the main project directory
26
+ # Note that the gemspec must be able to get the project version either from $LD_RELEASE_VERSION,
27
+ # or from somewhere in the source code that the project-specific update-version.sh has updated.
28
+ echo "Running gem build"
29
+ gem build ./*.gemspec || { echo "gem build failed" >&2; exit 1; }
@@ -0,0 +1,23 @@
1
+ #!/bin/bash
2
+
3
+ set -ue
4
+
5
+ # Standard publish.sh for Ruby-based projects - we can assume build.sh has already been run
6
+
7
+ export GEM_HOME="${LD_RELEASE_TEMP_DIR}/gems"
8
+
9
+ # If we're running in CircleCI, the RubyGems credentials will be in an environment
10
+ # variable and need to be copied to a file
11
+ if [ -n "${LD_RELEASE_RUBYGEMS_API_KEY}" ]; then
12
+ mkdir -p ~/.gem
13
+ cat >~/.gem/credentials <<EOF
14
+ ---
15
+ :rubygems_api_key: $LD_RELEASE_RUBYGEMS_API_KEY
16
+ EOF
17
+ chmod 0600 ~/.gem/credentials
18
+ fi
19
+
20
+ # Since all Releaser builds are clean builds, we can assume that the only .gem file here
21
+ # is the one we just built
22
+ echo "Running gem push"
23
+ gem push ./*.gem || { echo "gem push failed" >&2; exit 1; }
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+
3
+ # helper script to set GEM_HOME and PATH for Ruby - must be sourced, not executed
4
+
5
+ mkdir -p "${LD_RELEASE_TEMP_DIR}/gems"
6
+ export GEM_HOME="${LD_RELEASE_TEMP_DIR}/gems"
7
+ export PATH="${GEM_HOME}/bin:${PATH}"
@@ -0,0 +1,10 @@
1
+ #!/bin/bash
2
+
3
+ set -ue
4
+
5
+ # Standard test.sh for Ruby-based projects
6
+
7
+ #shellcheck source=/dev/null
8
+ source "$(dirname "$0")/set-gem-home.sh"
9
+
10
+ bundle exec rspec spec
@@ -0,0 +1,8 @@
1
+ #!/bin/bash
2
+
3
+ set -ue
4
+
5
+ # Standard update-version.sh for Ruby-based projects - this will work only if the version string
6
+ # is in a source file under lib/ that has a line like his: VERSION = "2.0.0"
7
+
8
+ "$(dirname "$0")/../update-version-constant.sh" lib '*.rb'
@@ -0,0 +1,19 @@
1
+ param(
2
+ [string]$step,
3
+ [string]$script
4
+ )
5
+
6
+ # Performs a delegated release step in a CircleCI Windows container using PowerShell. This
7
+ # mechanism is described in scripts/circleci/README.md. All of the necessary environment
8
+ # variables should already be in the generated CircleCI configuration.
9
+
10
+ $ErrorActionPreference = "Stop"
11
+
12
+ New-Item -Path "./artifacts" -ItemType "directory" -Force | Out-Null
13
+
14
+ $env:LD_RELEASE_TEMP_DIR = "$env:TEMP\project-releaser-temp"
15
+ New-Item -Path $env:LD_RELEASE_TEMP_DIR -ItemType "directory" -Force | Out-Null
16
+
17
+ Write-Host
18
+ Write-Host "[$step] executing $script"
19
+ & "./$script"
@@ -2,6 +2,10 @@ repo:
2
2
  public: ruby-server-sdk
3
3
  private: ruby-server-sdk-private
4
4
 
5
+ releasableBranches:
6
+ - name: master
7
+ - name: 5.x
8
+
5
9
  publications:
6
10
  - url: https://rubygems.org/gems/launchdarkly-server-sdk
7
11
  description: RubyGems
@@ -10,13 +14,13 @@ publications:
10
14
 
11
15
  template:
12
16
  name: ruby
13
- env:
14
- LD_SKIP_DATABASE_TESTS: 1 # Don't run Redis/Consul/DynamoDB tests in release; they are run in CI
15
17
 
16
18
  circleci:
17
19
  linux:
18
- image: circleci/ruby:2.6.2-stretch
20
+ image: circleci/ruby:2.6.6-buster
19
21
  context: org-global
22
+ env:
23
+ LD_SKIP_DATABASE_TESTS: "1" # Don't run Redis/Consul/DynamoDB tests in release; they are run in CI
20
24
 
21
25
  documentation:
22
26
  githubPages: true
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to the LaunchDarkly Ruby SDK will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org).
4
4
 
5
+ ## [6.0.0] - 2021-01-26
6
+ ### Added:
7
+ - Added a `socket_factory` configuration option which can be used for socket creation by the HTTP client if provided. The value of `socket_factory` must be an object providing an `open(uri, timeout)` method and returning a connected socket.
8
+
9
+ ### Changed:
10
+ - Switched to the `http` gem instead of `socketry` (with a custom http client) for streaming, and instead of `Net::HTTP` for polling / events.
11
+ - Dropped support for Ruby &lt; version 2.5
12
+ - Dropped support for JRuby &lt; version 9.2
13
+
5
14
  ## [5.8.2] - 2021-01-19
6
15
  ### Fixed:
7
16
  - Fixed a warning within the Redis integration when run with version 4.3 or later of the `redis` gem. (Thanks, [emancu](https://github.com/launchdarkly/ruby-server-sdk/pull/167)!)
@@ -18,7 +18,7 @@ Build instructions
18
18
 
19
19
  ### Prerequisites
20
20
 
21
- This SDK is built with [Bundler](https://bundler.io/). To install Bundler, run `gem install bundler -v 1.17.3`. You might need `sudo` to execute the command successfully. As of this writing, the SDK does not support being built with Bundler 2.0.
21
+ This SDK is built with [Bundler](https://bundler.io/). To install Bundler, run `gem install bundler`. You might need `sudo` to execute the command successfully.
22
22
 
23
23
  To install the runtime dependencies:
24
24
 
@@ -1,89 +1,116 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- launchdarkly-server-sdk (5.8.2)
5
- concurrent-ruby (~> 1.0)
4
+ launchdarkly-server-sdk (6.0.0)
5
+ concurrent-ruby (~> 1.1)
6
+ http (~> 4.4.1)
6
7
  json (~> 2.3.1)
7
- ld-eventsource (= 1.0.3)
8
+ ld-eventsource (~> 2.0)
8
9
  semantic (~> 1.6)
9
10
 
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
14
+ addressable (2.7.0)
15
+ public_suffix (>= 2.0.2, < 5.0)
16
+ ansi (1.5.0)
17
+ ast (2.4.2)
13
18
  aws-eventstream (1.1.0)
14
- aws-partitions (1.388.0)
15
- aws-sdk-core (3.109.1)
19
+ aws-partitions (1.418.0)
20
+ aws-sdk-core (3.111.2)
16
21
  aws-eventstream (~> 1, >= 1.0.2)
17
22
  aws-partitions (~> 1, >= 1.239.0)
18
23
  aws-sigv4 (~> 1.1)
19
24
  jmespath (~> 1.0)
20
- aws-sdk-dynamodb (1.55.0)
25
+ aws-sdk-dynamodb (1.58.0)
21
26
  aws-sdk-core (~> 3, >= 3.109.0)
22
27
  aws-sigv4 (~> 1.1)
23
28
  aws-sigv4 (1.2.2)
24
29
  aws-eventstream (~> 1, >= 1.0.2)
25
- concurrent-ruby (1.1.7)
30
+ concurrent-ruby (1.1.8)
26
31
  connection_pool (2.2.3)
27
32
  deep_merge (1.2.1)
28
33
  diff-lcs (1.4.4)
29
34
  diplomat (2.4.2)
30
35
  deep_merge (~> 1.0, >= 1.0.1)
31
36
  faraday (>= 0.9, < 1.1.0)
32
- faraday (0.17.3)
37
+ domain_name (0.5.20190701)
38
+ unf (>= 0.0.5, < 1.0.0)
39
+ faraday (1.0.1)
33
40
  multipart-post (>= 1.2, < 3)
34
- ffi (1.12.0)
35
- hitimes (1.3.1)
36
- http_tools (0.4.5)
41
+ ffi (1.14.2)
42
+ ffi-compiler (1.0.1)
43
+ ffi (>= 1.0.0)
44
+ rake
45
+ http (4.4.1)
46
+ addressable (~> 2.3)
47
+ http-cookie (~> 1.0)
48
+ http-form_data (~> 2.2)
49
+ http-parser (~> 1.2.0)
50
+ http-cookie (1.0.3)
51
+ domain_name (~> 0.5)
52
+ http-form_data (2.3.0)
53
+ http-parser (1.2.3)
54
+ ffi-compiler (>= 1.0, < 2.0)
37
55
  jmespath (1.4.0)
38
56
  json (2.3.1)
39
- ld-eventsource (1.0.3)
57
+ ld-eventsource (2.0.0)
40
58
  concurrent-ruby (~> 1.0)
41
- http_tools (~> 0.4.5)
42
- socketry (~> 0.5.1)
43
- listen (3.2.1)
59
+ http (~> 4.4.1)
60
+ listen (3.4.1)
44
61
  rb-fsevent (~> 0.10, >= 0.10.3)
45
62
  rb-inotify (~> 0.9, >= 0.9.10)
46
63
  multipart-post (2.1.1)
64
+ oga (2.15)
65
+ ast
66
+ ruby-ll (~> 2.1)
67
+ public_suffix (4.0.6)
68
+ rake (13.0.3)
47
69
  rb-fsevent (0.10.4)
48
70
  rb-inotify (0.10.1)
49
71
  ffi (~> 1.0)
50
- redis (3.3.5)
51
- rspec (3.9.0)
52
- rspec-core (~> 3.9.0)
53
- rspec-expectations (~> 3.9.0)
54
- rspec-mocks (~> 3.9.0)
55
- rspec-core (3.9.3)
56
- rspec-support (~> 3.9.3)
57
- rspec-expectations (3.9.3)
72
+ redis (4.2.5)
73
+ rspec (3.10.0)
74
+ rspec-core (~> 3.10.0)
75
+ rspec-expectations (~> 3.10.0)
76
+ rspec-mocks (~> 3.10.0)
77
+ rspec-core (3.10.1)
78
+ rspec-support (~> 3.10.0)
79
+ rspec-expectations (3.10.1)
58
80
  diff-lcs (>= 1.2.0, < 2.0)
59
- rspec-support (~> 3.9.0)
60
- rspec-mocks (3.9.1)
81
+ rspec-support (~> 3.10.0)
82
+ rspec-mocks (3.10.1)
61
83
  diff-lcs (>= 1.2.0, < 2.0)
62
- rspec-support (~> 3.9.0)
63
- rspec-support (3.9.4)
64
- rspec_junit_formatter (0.3.0)
84
+ rspec-support (~> 3.10.0)
85
+ rspec-support (3.10.1)
86
+ rspec_junit_formatter (0.4.1)
65
87
  rspec-core (>= 2, < 4, != 2.12.0)
88
+ ruby-ll (2.1.2)
89
+ ansi
90
+ ast
66
91
  semantic (1.6.1)
67
- socketry (0.5.1)
68
- hitimes (~> 1.2)
69
92
  timecop (0.9.2)
93
+ unf (0.1.4)
94
+ unf_ext
95
+ unf_ext (0.0.7.7)
96
+ webrick (1.7.0)
70
97
 
71
98
  PLATFORMS
72
99
  ruby
73
100
 
74
101
  DEPENDENCIES
75
- aws-sdk-dynamodb (~> 1.18)
76
- bundler (~> 1.17)
77
- connection_pool (>= 2.1.2)
78
- diplomat (>= 2.0.2)
79
- faraday (~> 0.17)
80
- ffi (<= 1.12)
102
+ aws-sdk-dynamodb (~> 1.57)
103
+ bundler (~> 2.1)
104
+ connection_pool (~> 2.2.3)
105
+ diplomat (~> 2.4.2)
81
106
  launchdarkly-server-sdk!
82
- listen (~> 3.0)
83
- redis (~> 3.3.5)
84
- rspec (~> 3.2)
85
- rspec_junit_formatter (~> 0.3.0)
86
- timecop (~> 0.9.1)
107
+ listen (~> 3.3)
108
+ oga (~> 2.2)
109
+ redis (~> 4.2)
110
+ rspec (~> 3.10)
111
+ rspec_junit_formatter (~> 0.4)
112
+ timecop (~> 0.9)
113
+ webrick (~> 1.7)
87
114
 
88
115
  BUNDLED WITH
89
- 1.17.3
116
+ 2.2.6