Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
# 2.13.0 (2025-09-12)

Fixes:

* _Actually_ works around an issue with Google Workspace; the PR intended for v2.12.0 did not get merged (facepalm - sorry!) - fixes [#142](https://github.com/pond/scimitar/issues/142) via [#161](https://github.com/pond/scimitar/pull/161) - thanks to `@kewnt`

Features:

* Support for `find_all_with` in the `scim_attributes_map`, to opt-in eliminate N+1 queries in some use cases - fixes [#157](https://github.com/pond/scimitar/issues/157) via [#164](https://github.com/pond/scimitar/pull/164/) - thanks to `@shuyahonda`

# 2.12.0 (2025-08-15)

Fixes:
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,8 @@ class User < ActiveRecord::Base
],

# NB The 'groups' collection in a SCIM User resource is read-only, so
# we provide no ":find_with" key for looking up records for writing
# updates to the associated collection.
# we provide no ":find_with" or ":find_all_with" key for looking up
# records for writing updates to the associated collection.
#
groups: [
{
Expand Down
4 changes: 2 additions & 2 deletions app/models/scimitar/resources/mixin.rb
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,8 @@ module Resources
# display: :full_name # <-- i.e. Team.users[n].full_name
# },
# class: Team, # Optional; see below
# find_with: -> (scim_list_entry) {...}, # See below
# find_all_with: -> (scim_list_entries) {...} # Optional, See below
# find_with: -> (scim_list_entry) {...}, # See below
# find_all_with: -> (scim_list_entries) {...} # Optional, See below
# }
# ],
# #...
Expand Down
4 changes: 2 additions & 2 deletions lib/scimitar/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ module Scimitar
# Gem version. If this changes, be sure to re-run "bundle install" or
# "bundle update".
#
VERSION = '2.12.0'
VERSION = '2.13.0'

# Date for VERSION. If this changes, be sure to re-run "bundle install"
# or "bundle update".
#
DATE = '2025-08-15'
DATE = '2025-09-12'

end
2 changes: 1 addition & 1 deletion spec/apps/dummy/app/models/mock_group_batch.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ def self.scim_attributes_map
# Minimal mock: assume user-only entries (type omitted => User)
find_all_with: -> (entries) do
ids = entries.map { |e| e['value'] }
users = MockUser.where(primary_key: ids).to_a
MockUser.where(primary_key: ids).to_a
end
}
]
Expand Down
3 changes: 2 additions & 1 deletion spec/apps/dummy/config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
get 'Groups/:id', to: 'mock_groups#show'
patch 'Groups/:id', to: 'mock_groups#update'

# Batch lookup variant for testing find_all_with
# Batch lookup variant for testing the mixin 'find_all_with' option.
#
get 'BatchGroups', to: 'mock_batch_groups#index'
get 'BatchGroups/:id', to: 'mock_batch_groups#show'
patch 'BatchGroups/:id', to: 'mock_batch_groups#update'
Expand Down