descope 1.0.6 → 1.1.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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yaml +51 -12
  3. data/.github/workflows/publish-gem.yaml +6 -26
  4. data/.github/workflows/release-please.yaml +36 -0
  5. data/.gitignore +5 -2
  6. data/.release-please-manifest.json +1 -1
  7. data/.ruby-version +1 -1
  8. data/CHANGELOG.md +21 -0
  9. data/Gemfile +8 -7
  10. data/Gemfile.lock +70 -56
  11. data/README.md +170 -51
  12. data/examples/ruby-on-rails-api/descope/Gemfile +8 -8
  13. data/examples/ruby-on-rails-api/descope/Gemfile.lock +1 -1
  14. data/examples/ruby-on-rails-api/descope/package-lock.json +203 -141
  15. data/examples/ruby-on-rails-api/descope/package.json +1 -1
  16. data/examples/ruby-on-rails-api/descope/yarn.lock +185 -87
  17. data/lib/descope/api/v1/auth/enchantedlink.rb +3 -1
  18. data/lib/descope/api/v1/auth/magiclink.rb +3 -1
  19. data/lib/descope/api/v1/auth/otp.rb +3 -1
  20. data/lib/descope/api/v1/auth/password.rb +6 -2
  21. data/lib/descope/api/v1/auth/totp.rb +3 -1
  22. data/lib/descope/api/v1/auth.rb +47 -12
  23. data/lib/descope/api/v1/management/common.rb +20 -5
  24. data/lib/descope/api/v1/management/sso_application.rb +236 -0
  25. data/lib/descope/api/v1/management/sso_settings.rb +2 -24
  26. data/lib/descope/api/v1/management/user.rb +151 -13
  27. data/lib/descope/api/v1/management.rb +2 -0
  28. data/lib/descope/api/v1/session.rb +37 -4
  29. data/lib/descope/mixins/common.rb +1 -0
  30. data/lib/descope/mixins/http.rb +60 -9
  31. data/lib/descope/mixins/initializer.rb +5 -2
  32. data/lib/descope/mixins/logging.rb +12 -4
  33. data/lib/descope/version.rb +1 -1
  34. data/spec/descope/api/v1/auth_spec.rb +29 -0
  35. data/spec/descope/api/v1/auth_token_extraction_spec.rb +126 -0
  36. data/spec/descope/api/v1/session_refresh_spec.rb +98 -0
  37. data/spec/factories/user.rb +1 -1
  38. data/spec/integration/lib.descope/api/v1/auth/enchantedlink_spec.rb +20 -22
  39. data/spec/integration/lib.descope/api/v1/auth/magiclink_spec.rb +6 -2
  40. data/spec/integration/lib.descope/api/v1/auth/otp_spec.rb +6 -2
  41. data/spec/integration/lib.descope/api/v1/auth/session_spec.rb +68 -0
  42. data/spec/integration/lib.descope/api/v1/auth/totp_spec.rb +6 -2
  43. data/spec/integration/lib.descope/api/v1/management/access_key_spec.rb +12 -1
  44. data/spec/integration/lib.descope/api/v1/management/audit_spec.rb +5 -3
  45. data/spec/integration/lib.descope/api/v1/management/authz_spec.rb +28 -5
  46. data/spec/integration/lib.descope/api/v1/management/flow_spec.rb +3 -1
  47. data/spec/integration/lib.descope/api/v1/management/permissions_spec.rb +22 -2
  48. data/spec/integration/lib.descope/api/v1/management/project_spec.rb +18 -2
  49. data/spec/integration/lib.descope/api/v1/management/roles_spec.rb +116 -36
  50. data/spec/integration/lib.descope/api/v1/management/user_spec.rb +74 -8
  51. data/spec/lib.descope/api/v1/auth/enchantedlink_spec.rb +11 -2
  52. data/spec/lib.descope/api/v1/auth/password_spec.rb +10 -1
  53. data/spec/lib.descope/api/v1/auth_spec.rb +167 -5
  54. data/spec/lib.descope/api/v1/cookie_domain_fix_integration_spec.rb +245 -0
  55. data/spec/lib.descope/api/v1/management/sso_application_spec.rb +217 -0
  56. data/spec/lib.descope/api/v1/management/sso_settings_spec.rb +2 -2
  57. data/spec/lib.descope/api/v1/management/user_spec.rb +134 -46
  58. data/spec/lib.descope/api/v1/session_spec.rb +119 -6
  59. data/spec/lib.descope/mixins/http_spec.rb +229 -0
  60. data/spec/support/client_config.rb +0 -1
  61. data/spec/support/utils.rb +21 -0
  62. metadata +14 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c34965cb6d8afe8eef75358f8a2bfe51a4c85732b7a6704352d67429be4ef2a1
4
- data.tar.gz: d683b72349fe21ad68c8eb5ba3f5efc630f6d064d725200d874b0b1a07fda450
3
+ metadata.gz: beb56da5c28d3ae76435ec8ffd7641e39b08f89bc67a7f166f1f8278f191186a
4
+ data.tar.gz: e3abb55707b28c5678e09d0b0fcdfb9449b38b32b0d3f28d032ada03cd226acf
5
5
  SHA512:
6
- metadata.gz: aed5e37a77c61eca6ee2e52cef996ebc5088b57dd78ed566cb2c4e21b7b939ddd5779712de35fdba59e13990872757dc8fb3a84a6c05b4bf8d169fefa281dcc9
7
- data.tar.gz: 6cca87aa406e2eda34f7d38ad02178422c5b37262d0c4d5195f582ab7b4eabffe4c5508a06c10615f165de612e0a2b6caf5d14d7c19157b245354746f582810a
6
+ metadata.gz: fac54ea06b4b828bfc89a342c7acc0bb5ad50b0fea589d0d9860ef69923dc60919fcad3684f3317a51dfdcdc2e46392e0144d21f4f02440964f7155f8a5424fe
7
+ data.tar.gz: 62a41f8f2c5e4df22fbe259bc657608c66e86b9994fd803a4ba1ba7c4075cc376ceef49237256cb18acbb8915163bdf6bef03b66223318509c2fd30970abe2e1
@@ -1,4 +1,6 @@
1
1
  name: CI
2
+ permissions:
3
+ contents: read
2
4
 
3
5
  on:
4
6
  push:
@@ -17,26 +19,63 @@ env:
17
19
  DESCOPE_LOG_LEVEL: ${{ github.event.inputs.DESCOPE_LOG_LEVEL || 'info' }}
18
20
 
19
21
  jobs:
20
- ci:
21
- name: Descope Ruby SDK CI
22
+ unit-tests:
23
+ name: Unit Tests
22
24
  runs-on: ubuntu-latest
25
+ permissions:
26
+ contents: read
27
+ strategy:
28
+ fail-fast: false
29
+ matrix:
30
+ # Run unit tests in parallel across 4 workers
31
+ # NOTE: ci_node_total and ci_node_index must be kept in sync
32
+ ci_node_total: [4]
33
+ ci_node_index: [0, 1, 2, 3]
23
34
  steps:
24
35
  - name: Checkout Code
25
- uses: actions/checkout@v4
36
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
26
37
 
27
- - uses: ruby/setup-ruby@v1
38
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
28
39
  with:
29
- # We are not letting this step to run bundle install, we will do it later
30
- bundler-cache: false
40
+ bundler-cache: true # Cache bundle based on Gemfile.lock
31
41
 
32
- - name: Install dependencies
33
- run: bundle install
42
+ - name: Run RSpec Unit Tests (Parallel)
43
+ run: bundle exec parallel_rspec spec/lib.descope -n ${{ matrix.ci_node_total }} --only-group ${{ matrix.ci_node_index }}
34
44
 
35
- - name: Run RSpec Test
36
- run: bundle exec rspec spec/lib.descope
45
+ integration-tests:
46
+ name: Integration Tests
47
+ runs-on: ubuntu-latest
48
+ permissions:
49
+ contents: read
50
+ steps:
51
+ - name: Checkout Code
52
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
53
+
54
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
55
+ with:
56
+ bundler-cache: true # Cache bundle based on Gemfile.lock
57
+
58
+ - name: Run Auth Integration Tests
59
+ env:
60
+ DESCOPE_MANAGEMENT_KEY: ${{ secrets.DESCOPE_MANAGEMENT_KEY }}
61
+ DESCOPE_PROJECT_ID: ${{ secrets.DESCOPE_PROJECT_ID }}
62
+ run: bundle exec rspec spec/integration/lib.descope/api/v1/auth
37
63
 
38
- - name: Run RSpec Integration Tests
64
+ - name: Run Management Integration Tests (excluding global state tests)
39
65
  env:
40
66
  DESCOPE_MANAGEMENT_KEY: ${{ secrets.DESCOPE_MANAGEMENT_KEY }}
41
67
  DESCOPE_PROJECT_ID: ${{ secrets.DESCOPE_PROJECT_ID }}
42
- run: bundle exec rspec spec/integration
68
+ run: |
69
+ bundle exec rspec spec/integration/lib.descope/api/v1/management \
70
+ --exclude-pattern "spec/integration/lib.descope/api/v1/management/project_spec.rb" \
71
+ --exclude-pattern "spec/integration/lib.descope/api/v1/management/authz_spec.rb"
72
+
73
+ - name: Run Global State Integration Tests (project & authz)
74
+ env:
75
+ DESCOPE_MANAGEMENT_KEY: ${{ secrets.DESCOPE_MANAGEMENT_KEY }}
76
+ DESCOPE_PROJECT_ID: ${{ secrets.DESCOPE_PROJECT_ID }}
77
+ AUTHZ_FULL_TEST: "true"
78
+ run: |
79
+ bundle exec rspec spec/integration/lib.descope/api/v1/management/project_spec.rb \
80
+ spec/integration/lib.descope/api/v1/management/authz_spec.rb
81
+
@@ -10,12 +10,12 @@ jobs:
10
10
  runs-on: ubuntu-latest
11
11
  steps:
12
12
  - name: Checkout Code
13
- uses: actions/checkout@v4
13
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
14
14
  with:
15
15
  ref: main
16
16
  fetch-depth: 0
17
17
 
18
- - uses: ruby/setup-ruby@v1
18
+ - uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
19
19
  with:
20
20
  # We are not letting this step to run bundle install, we will do it later
21
21
  bundler-cache: false
@@ -23,31 +23,11 @@ jobs:
23
23
  - name: Install dependencies
24
24
  run: bundle install
25
25
 
26
- - name: Bump version
26
+ - name: Verify version
27
27
  run: |
28
- NEW_VERSION=$(echo ${{ github.event.release.tag_name }} | sed 's/^v//') # strip the 'v' from the tag if present
29
- sed -i "s/^ VERSION = '.*'/ VERSION = '${NEW_VERSION}'/g" lib/descope/version.rb
30
- echo -e "Updated version file:\n $(cat lib/descope/version.rb)"
31
-
32
- - name: Commit changes
33
- run: |
34
- git config --global user.name 'github-actions'
35
- git config --global user.email 'github-actions@github.com'
36
- git checkout main
37
- git add ./lib/descope/version.rb
38
- git commit -m "Bump version to $NEW_VERSION"
39
- git push origin main
40
- env:
41
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42
-
43
- - name: Repoint the tag to latest commit
44
- run: |
45
- git tag -d ${{ github.event.release.tag_name }}
46
- git tag ${{ github.event.release.tag_name }} -m "Release $NEW_VERSION"
47
- git push origin :${{ github.event.release.tag_name }}
48
- git push
49
- env:
50
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28
+ echo "Version file contents:"
29
+ cat lib/descope/version.rb
30
+ echo "Release tag: ${{ github.event.release.tag_name }}"
51
31
 
52
32
  - name: Publish to RubyGems
53
33
  run: |
@@ -0,0 +1,36 @@
1
+ name: Release Please
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ release-please:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - name: Get token
16
+ id: get_token
17
+ uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a # v2.1.0
18
+ with:
19
+ private_key: ${{ secrets.RELEASE_APP_PEM }}
20
+ app_id: ${{ secrets.RELEASE_APP_ID }}
21
+
22
+ - uses: googleapis/release-please-action@16a9c90856f42705d54a6fda1823352bdc62cf38 # v4.4.0
23
+ id: release
24
+ with:
25
+ # The release-please-config.json and .release-please-manifest.json files
26
+ # are automatically detected in the root of the repository
27
+ token: ${{ steps.get_token.outputs.token }}
28
+
29
+ - name: Show outputs
30
+ if: ${{ steps.release.outputs.release_created }}
31
+ run: |
32
+ echo "Release created: ${{ steps.release.outputs.release_created }}"
33
+ echo "Tag name: ${{ steps.release.outputs.tag_name }}"
34
+ echo "Major: ${{ steps.release.outputs.major }}"
35
+ echo "Minor: ${{ steps.release.outputs.minor }}"
36
+ echo "Patch: ${{ steps.release.outputs.patch }}"
data/.gitignore CHANGED
@@ -13,8 +13,10 @@ bin/*
13
13
  *.idea/*
14
14
  *.iml
15
15
  .DS_Store
16
+ .history
17
+ .vscode
16
18
  # Used by dotenv library to load environment variables.
17
- # .env
19
+ .env
18
20
 
19
21
  # Ignore Byebug command history file.
20
22
  .byebug_history
@@ -56,4 +58,5 @@ build-iPhoneSimulator/
56
58
  .rvmrc
57
59
 
58
60
  # Used by RuboCop. Remote config files pulled in from inherit_from directive.
59
- # .rubocop-https?--*
61
+ # .rubocop-https?--*
62
+ .secrets
@@ -1,3 +1,3 @@
1
1
  {
2
- ".": "1.0.4"
2
+ ".": "1.1.0"
3
3
  }
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.3.0
1
+ 3.4.7
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # Change Log
2
2
 
3
+ ## [1.1.0](https://github.com/descope/descope-ruby-sdk/compare/descope-v1.0.7...descope/v1.1.0) (2025-12-13)
4
+
5
+
6
+ ### Features
7
+
8
+ * add release-please workflow for automated releases ([#157](https://github.com/descope/descope-ruby-sdk/issues/157)) ([5bbfb9b](https://github.com/descope/descope-ruby-sdk/commit/5bbfb9be77c753bd1c99060c92d3d1204ce6e803))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * examples/ruby-on-rails-api/descope/Gemfile to reduce vulnerabilities ([#122](https://github.com/descope/descope-ruby-sdk/issues/122)) ([85e77ea](https://github.com/descope/descope-ruby-sdk/commit/85e77ea9a511f208e4818e7231c50416b58f9437))
14
+ * examples/ruby-on-rails-api/descope/Gemfile to reduce vulnerabilities ([#124](https://github.com/descope/descope-ruby-sdk/issues/124)) ([7fcd9f5](https://github.com/descope/descope-ruby-sdk/commit/7fcd9f5ed9e1af7c3adceca403da5585f0768eb9))
15
+ * Parse Set-Cookie headers directly to handle custom domain cookies when RestClient filtering fails ([#150](https://github.com/descope/descope-ruby-sdk/issues/150)) ([bb94536](https://github.com/descope/descope-ruby-sdk/commit/bb945368b76199df3bfa0dbd635756cd28dc2709))
16
+ * resolve integration test failures ([#162](https://github.com/descope/descope-ruby-sdk/issues/162)) ([ea880ea](https://github.com/descope/descope-ruby-sdk/commit/ea880ea91860ef67b97083a8e23c1580df95205b))
17
+ * unparallel tests ([#165](https://github.com/descope/descope-ruby-sdk/issues/165)) ([9a08c74](https://github.com/descope/descope-ruby-sdk/commit/9a08c74a7b8e5e02dc3816aa14b61a533d1c5962))
18
+
19
+
20
+ ### Performance Improvements
21
+
22
+ * optimize test suite for parallel execution with 3-5x speedup ([#159](https://github.com/descope/descope-ruby-sdk/issues/159)) ([da42969](https://github.com/descope/descope-ruby-sdk/commit/da4296952c936d028d6655bf503fc6dca0e568bb))
23
+
3
24
  ## [1.0.4](https://github.com/descope/descope-ruby-sdk/compare/descope/v1.0.0...descope/v1.0.4) (2024-02-13)
4
25
 
5
26
 
data/Gemfile CHANGED
@@ -4,17 +4,18 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
- gem 'rubocop', '1.63.2', require: false
8
- gem 'rubocop-rails', '2.24.1', require: false
7
+ gem 'rubocop', '1.81.7', require: false
8
+ gem 'rubocop-rails', '2.34.0', require: false
9
9
  end
10
10
 
11
11
  group :test do
12
- gem 'factory_bot', '6.4.6', require: false
12
+ gem 'factory_bot', '6.5.6', require: false
13
13
  gem 'faker', require: false
14
- gem 'rack-test', '2.1.0', require: false
14
+ gem 'parallel_tests', require: false
15
+ gem 'rack-test', '2.2.0', require: false
15
16
  gem 'rotp', '6.3.0', require: false
16
- gem 'rspec', '3.13.0', require: false
17
- gem 'selenium-webdriver', '4.19.0', require: false
17
+ gem 'rspec', '3.13.2', require: false
18
+ gem 'selenium-webdriver', '4.38.0', require: false
18
19
  gem 'simplecov', '0.22.0', require: false
19
- gem 'super_diff', '0.11.0', require: false
20
+ gem 'super_diff', '0.18.0', require: false
20
21
  end
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- descope (1.0.5)
4
+ descope (1.1.0)
5
5
  addressable (~> 2.8)
6
6
  jwt (~> 2.7)
7
7
  rest-client (~> 2.1)
@@ -11,106 +11,117 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- activesupport (7.1.3.2)
14
+ activesupport (7.2.3)
15
15
  base64
16
+ benchmark (>= 0.3)
16
17
  bigdecimal
17
- concurrent-ruby (~> 1.0, >= 1.0.2)
18
+ concurrent-ruby (~> 1.0, >= 1.3.1)
18
19
  connection_pool (>= 2.2.5)
19
20
  drb
20
21
  i18n (>= 1.6, < 2)
22
+ logger (>= 1.4.2)
21
23
  minitest (>= 5.1)
22
- mutex_m
23
- tzinfo (~> 2.0)
24
+ securerandom (>= 0.3)
25
+ tzinfo (~> 2.0, >= 2.0.5)
24
26
  addressable (2.8.6)
25
27
  public_suffix (>= 2.0.2, < 6.0)
26
- ast (2.4.2)
28
+ ast (2.4.3)
27
29
  attr_extras (7.1.0)
28
- base64 (0.2.0)
29
- bigdecimal (3.1.7)
30
- concurrent-ruby (1.2.3)
31
- connection_pool (2.4.1)
32
- diff-lcs (1.5.1)
30
+ base64 (0.3.0)
31
+ benchmark (0.5.0)
32
+ bigdecimal (3.3.1)
33
+ concurrent-ruby (1.3.5)
34
+ connection_pool (2.5.5)
35
+ diff-lcs (1.6.2)
33
36
  docile (1.4.0)
34
37
  domain_name (0.6.20240107)
35
- drb (2.2.1)
36
- factory_bot (6.4.6)
37
- activesupport (>= 5.0.0)
38
+ drb (2.2.3)
39
+ factory_bot (6.5.6)
40
+ activesupport (>= 6.1.0)
38
41
  faker (3.3.1)
39
42
  i18n (>= 1.8.11, < 2)
40
43
  http-accept (1.7.0)
41
44
  http-cookie (1.0.5)
42
45
  domain_name (~> 0.5)
43
- i18n (1.14.4)
46
+ i18n (1.14.7)
44
47
  concurrent-ruby (~> 1.0)
45
- json (2.7.2)
48
+ json (2.18.0)
46
49
  jwt (2.8.1)
47
50
  base64
48
- language_server-protocol (3.17.0.3)
51
+ language_server-protocol (3.17.0.5)
52
+ lint_roller (1.1.0)
53
+ logger (1.7.0)
49
54
  mime-types (3.5.2)
50
55
  mime-types-data (~> 3.2015)
51
56
  mime-types-data (3.2024.0305)
52
- minitest (5.22.3)
53
- mutex_m (0.2.0)
57
+ minitest (5.27.0)
54
58
  netrc (0.11.0)
55
- optimist (3.1.0)
56
- parallel (1.24.0)
57
- parser (3.3.0.5)
59
+ optimist (3.2.1)
60
+ parallel (1.27.0)
61
+ parallel_tests (5.5.0)
62
+ parallel
63
+ parser (3.3.10.0)
58
64
  ast (~> 2.4.1)
59
65
  racc
60
66
  patience_diff (1.2.0)
61
67
  optimist (~> 3.0)
68
+ prism (1.6.0)
62
69
  public_suffix (5.0.5)
63
- racc (1.7.3)
64
- rack (3.0.10)
65
- rack-test (2.1.0)
70
+ racc (1.8.1)
71
+ rack (3.2.4)
72
+ rack-test (2.2.0)
66
73
  rack (>= 1.3)
67
74
  rainbow (3.1.1)
68
- regexp_parser (2.9.0)
75
+ regexp_parser (2.11.3)
69
76
  rest-client (2.1.0)
70
77
  http-accept (>= 1.7.0, < 2.0)
71
78
  http-cookie (>= 1.0.2, < 2.0)
72
79
  mime-types (>= 1.16, < 4.0)
73
80
  netrc (~> 0.8)
74
81
  retryable (3.0.5)
75
- rexml (3.2.6)
82
+ rexml (3.4.4)
76
83
  rotp (6.3.0)
77
- rspec (3.13.0)
84
+ rspec (3.13.2)
78
85
  rspec-core (~> 3.13.0)
79
86
  rspec-expectations (~> 3.13.0)
80
87
  rspec-mocks (~> 3.13.0)
81
- rspec-core (3.13.0)
88
+ rspec-core (3.13.6)
82
89
  rspec-support (~> 3.13.0)
83
- rspec-expectations (3.13.0)
90
+ rspec-expectations (3.13.5)
84
91
  diff-lcs (>= 1.2.0, < 2.0)
85
92
  rspec-support (~> 3.13.0)
86
- rspec-mocks (3.13.0)
93
+ rspec-mocks (3.13.7)
87
94
  diff-lcs (>= 1.2.0, < 2.0)
88
95
  rspec-support (~> 3.13.0)
89
- rspec-support (3.13.1)
90
- rubocop (1.63.2)
96
+ rspec-support (3.13.6)
97
+ rubocop (1.81.7)
91
98
  json (~> 2.3)
92
- language_server-protocol (>= 3.17.0)
99
+ language_server-protocol (~> 3.17.0.2)
100
+ lint_roller (~> 1.1.0)
93
101
  parallel (~> 1.10)
94
102
  parser (>= 3.3.0.2)
95
103
  rainbow (>= 2.2.2, < 4.0)
96
- regexp_parser (>= 1.8, < 3.0)
97
- rexml (>= 3.2.5, < 4.0)
98
- rubocop-ast (>= 1.31.1, < 2.0)
104
+ regexp_parser (>= 2.9.3, < 3.0)
105
+ rubocop-ast (>= 1.47.1, < 2.0)
99
106
  ruby-progressbar (~> 1.7)
100
- unicode-display_width (>= 2.4.0, < 3.0)
101
- rubocop-ast (1.31.2)
102
- parser (>= 3.3.0.4)
103
- rubocop-rails (2.24.1)
107
+ unicode-display_width (>= 2.4.0, < 4.0)
108
+ rubocop-ast (1.48.0)
109
+ parser (>= 3.3.7.2)
110
+ prism (~> 1.4)
111
+ rubocop-rails (2.34.0)
104
112
  activesupport (>= 4.2.0)
113
+ lint_roller (~> 1.1)
105
114
  rack (>= 1.1)
106
- rubocop (>= 1.33.0, < 2.0)
107
- rubocop-ast (>= 1.31.1, < 2.0)
115
+ rubocop (>= 1.75.0, < 2.0)
116
+ rubocop-ast (>= 1.44.0, < 2.0)
108
117
  ruby-progressbar (1.13.0)
109
- rubyzip (2.3.2)
110
- selenium-webdriver (4.19.0)
118
+ rubyzip (2.4.1)
119
+ securerandom (0.4.1)
120
+ selenium-webdriver (4.38.0)
111
121
  base64 (~> 0.2)
122
+ logger (~> 1.4)
112
123
  rexml (~> 3.2, >= 3.2.5)
113
- rubyzip (>= 1.2.2, < 3.0)
124
+ rubyzip (>= 1.2.2, < 4.0)
114
125
  websocket (~> 1.0)
115
126
  simplecov (0.22.0)
116
127
  docile (~> 1.1)
@@ -118,32 +129,35 @@ GEM
118
129
  simplecov_json_formatter (~> 0.1)
119
130
  simplecov-html (0.12.3)
120
131
  simplecov_json_formatter (0.1.4)
121
- super_diff (0.11.0)
132
+ super_diff (0.18.0)
122
133
  attr_extras (>= 6.2.4)
123
134
  diff-lcs
124
135
  patience_diff
125
136
  tzinfo (2.0.6)
126
137
  concurrent-ruby (~> 1.0)
127
- unicode-display_width (2.5.0)
128
- websocket (1.2.10)
138
+ unicode-display_width (2.6.0)
139
+ websocket (1.2.11)
129
140
  zache (0.13.1)
130
141
 
131
142
  PLATFORMS
132
143
  arm64-darwin-23
144
+ arm64-darwin-24
145
+ arm64-darwin-25
133
146
  x86_64-linux
134
147
 
135
148
  DEPENDENCIES
136
149
  descope!
137
- factory_bot (= 6.4.6)
150
+ factory_bot (= 6.5.6)
138
151
  faker
139
- rack-test (= 2.1.0)
152
+ parallel_tests
153
+ rack-test (= 2.2.0)
140
154
  rotp (= 6.3.0)
141
- rspec (= 3.13.0)
142
- rubocop (= 1.63.2)
143
- rubocop-rails (= 2.24.1)
144
- selenium-webdriver (= 4.19.0)
155
+ rspec (= 3.13.2)
156
+ rubocop (= 1.81.7)
157
+ rubocop-rails (= 2.34.0)
158
+ selenium-webdriver (= 4.38.0)
145
159
  simplecov (= 0.22.0)
146
- super_diff (= 0.11.0)
160
+ super_diff (= 0.18.0)
147
161
 
148
162
  BUNDLED WITH
149
163
  2.5.6