scimitar 2.1.0 → 2.1.1

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: d10a10d763c621e797fbe343a113a8610f9317a06455f177c60c42062663b4da
4
- data.tar.gz: 251c1b73b7dd51ded63d85f7b0816163a9bd567099db9ce5f57e4929301d7a49
3
+ metadata.gz: 2418199bee8396f36fd0588b82f111b019d28b095d8830c82c808cc67323f220
4
+ data.tar.gz: 0b3fcf08adbbc8d9385e245f4e55b3ca2e30c7a8ce254d9417e4a4ab3a662dcf
5
5
  SHA512:
6
- metadata.gz: 77accce401fb9f6fbb91a0ebf53294754286867cc2becce4f8acccbbd35f90c9062174d1da0e0ad4c80a92acc053c4a0b30898260fe95dc580bf3df33453f975
7
- data.tar.gz: 9e64bad4582b54c988f612f9a0920b291431a79f62f9656bcad2658c5a0ded291e9cf96f47cac5f2b130c47a30edbf3b68b6f8abe96ca9cb8a7bb8dcaea83bd2
6
+ metadata.gz: 3c52d9e9d70525d25e5c3cc9ee627a41e2de7946b53829525506716cb502076aa42fa2c6fa253edbee990799fe8bf6b1ae089325f6aeb8015f3a3f5b14eff5eb
7
+ data.tar.gz: 41cfeb646bd77b2f0a53ccac2c5f94cbc1ca02261adc169ad21b3a96a7edc2cdcdcd75f4f0ef1e0e5ae387f8f4c3bd7c67382258515bd4612911bb5c15f85260
@@ -25,8 +25,8 @@ module Scimitar
25
25
  #
26
26
  # ...to "globally" invoke this handler if you wish.
27
27
  #
28
- # +_exception+:: Exception instance, used for a configured error reporter
29
- # via #handle_scim_error (if present).
28
+ # +exception+:: Exception instance, used for a configured error reporter
29
+ # via #handle_scim_error (if present).
30
30
  #
31
31
  def handle_resource_not_found(exception)
32
32
  handle_scim_error(NotFoundError.new(params[:id]), exception)
@@ -17,7 +17,7 @@ module Scimitar
17
17
  data
18
18
  end
19
19
 
20
- # From v1, Scimitar used attribute "detail" for the exception text; it was
20
+ # Originally Scimitar used attribute "detail" for exception text; it was
21
21
  # only for JSON responses at the time, but in hindsight was a bad choice.
22
22
  # It should have been "message" given inheritance from StandardError, which
23
23
  # then works properly with e.g. error reporting services.
@@ -902,7 +902,11 @@ module Scimitar
902
902
  altering_hash[path_component] = value
903
903
  end
904
904
  when 'replace'
905
- altering_hash[path_component] = value
905
+ if path_component == 'root'
906
+ altering_hash[path_component].merge!(value)
907
+ else
908
+ altering_hash[path_component] = value
909
+ end
906
910
  when 'remove'
907
911
  altering_hash.delete(path_component)
908
912
  end
@@ -3,11 +3,11 @@ module Scimitar
3
3
  # Gem version. If this changes, be sure to re-run "bundle install" or
4
4
  # "bundle update".
5
5
  #
6
- VERSION = '2.1.0'
6
+ VERSION = '2.1.1'
7
7
 
8
8
  # Date for VERSION. If this changes, be sure to re-run "bundle install"
9
9
  # or "bundle update".
10
10
  #
11
- DATE = '2022-07-14'
11
+ DATE = '2022-11-04'
12
12
 
13
13
  end
@@ -208,7 +208,11 @@ RSpec.describe Scimitar::ApplicationController do
208
208
  context 'and bad JSON' do
209
209
  controller do
210
210
  def index
211
- raise ActionDispatch::Http::Parameters::ParseError.new("Hello")
211
+ begin
212
+ raise 'Hello'
213
+ rescue
214
+ raise ActionDispatch::Http::Parameters::ParseError
215
+ end
212
216
  end
213
217
  end
214
218
 
@@ -1747,6 +1747,24 @@ RSpec.describe Scimitar::Resources::Mixin do
1747
1747
  expect(scim_hash['emails'][0]['type' ]).to eql('work')
1748
1748
  expect(scim_hash['emails'][0]['value']).to eql('work@test.com')
1749
1749
  end
1750
+
1751
+ context 'when prior value already exists, and no path' do
1752
+ it 'simple value: overwrites' do
1753
+ path = [ 'root' ]
1754
+ scim_hash = { 'root' => { 'userName' => 'bar', 'active' => true } }.with_indifferent_case_insensitive_access()
1755
+
1756
+ @instance.send(
1757
+ :from_patch_backend!,
1758
+ nature: 'replace',
1759
+ path: path,
1760
+ value: { 'active' => false }.with_indifferent_case_insensitive_access(),
1761
+ altering_hash: scim_hash
1762
+ )
1763
+
1764
+ expect(scim_hash['root']['userName']).to eql('bar')
1765
+ expect(scim_hash['root']['active']).to eql(false)
1766
+ end
1767
+ end
1750
1768
  end # context 'when value is not present' do
1751
1769
  end # "context 'replace' do"
1752
1770
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scimitar
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - RIPA Global
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-07-14 00:00:00.000000000 Z
12
+ date: 2022-11-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -260,7 +260,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
260
260
  - !ruby/object:Gem::Version
261
261
  version: '0'
262
262
  requirements: []
263
- rubygems_version: 3.3.7
263
+ rubygems_version: 3.3.13
264
264
  signing_key:
265
265
  specification_version: 4
266
266
  summary: SCIM v2 for Rails