diff --git a/CHANGELOG.md b/CHANGELOG.md index 2384322..119ce89 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ Features: -* Override which core schema are returned in the `/Schemas` endpoint via new call `Scimitar::Engine::set_default_resources` (see [this code diff](https://github.com/RIPAGlobal/scimitar/pull/133/files#diff-b8ad01f8ed8a88f41a13938505a2050d3d3ff86af93a78a7690b273ece6b80bdR80)) - implements [#118](https://github.com/RIPAGlobal/scimitar/issues/118) requested by `@gsar` via [#133](https://github.com/RIPAGlobal/scimitar/pull/133) +* Override which core schema are returned in the `/Schemas` endpoint via new call `Scimitar::Engine.set_default_resources` (see [this code diff](https://github.com/RIPAGlobal/scimitar/pull/133/files#diff-b8ad01f8ed8a88f41a13938505a2050d3d3ff86af93a78a7690b273ece6b80bdR80)) - implements [#118](https://github.com/RIPAGlobal/scimitar/issues/118) requested by `@gsar` via [#133](https://github.com/RIPAGlobal/scimitar/pull/133) * Opt-in feature to make the `/Schemas` endpoint walk resource attribute maps to determine _actual_ supported attributes and attribute mutability, rather than just reporting the literal schema definition; see the description of the `schema_list_from_attribute_mappings` configuration setting inside the template `config/initializers/scimitar.rb` file for details (or read it via the [code diff here](https://github.com/RIPAGlobal/scimitar/pull/135/files#diff-830211b739a7c7398083b7127d648b356f43d298713a2b3f0c13f2271b9d3c82R110)) - implements [#119](https://github.com/RIPAGlobal/scimitar/issues/119) requested by `@gsar` via [#135](https://github.com/RIPAGlobal/scimitar/pull/135) Fixes: diff --git a/README.md b/README.md index 49db2e9..79d9b5e 100644 --- a/README.md +++ b/README.md @@ -594,7 +594,7 @@ By default, Scimitar advertises (via things like [the `/Schemas` endpoint](https ```ruby Rails.application.config.to_prepare do - Scimitar::Engine::set_default_resources([Scimitar::Resources::User]) + Scimitar::Engine.set_default_resources([Scimitar::Resources::User]) # ...other Scimitar configuration / initialisation code... end ``` diff --git a/lib/scimitar/engine.rb b/lib/scimitar/engine.rb index ac13a08..cdac819 100644 --- a/lib/scimitar/engine.rb +++ b/lib/scimitar/engine.rb @@ -88,9 +88,9 @@ def self.set_default_resources(resource_array) unrecognised_resources = resource_array - @standard_default_resources if unrecognised_resources.any? - raise "Scimitar::Engine::set_default_resources: Only #{@standard_default_resources.map(&:name).join(', ')} are supported" + raise "Scimitar::Engine.set_default_resources: Only #{@standard_default_resources.map(&:name).join(', ')} are supported" elsif resource_array.empty? - raise 'Scimitar::Engine::set_default_resources: At least one resource must be given' + raise 'Scimitar::Engine.set_default_resources: At least one resource must be given' end @default_resources = resource_array diff --git a/spec/requests/engine_spec.rb b/spec/requests/engine_spec.rb index efac7ef..189ce8f 100644 --- a/spec/requests/engine_spec.rb +++ b/spec/requests/engine_spec.rb @@ -78,26 +78,26 @@ def self.endpoint; '/License'; end end it 'notes changes to defaults' do - Scimitar::Engine::set_default_resources([Scimitar::Resources::User]) + Scimitar::Engine.set_default_resources([Scimitar::Resources::User]) expect(Scimitar::Engine.resources()).to match_array([Scimitar::Resources::User]) end it 'notes changes to defaults with custom resources added' do - Scimitar::Engine::set_default_resources([Scimitar::Resources::User]) + Scimitar::Engine.set_default_resources([Scimitar::Resources::User]) Scimitar::Engine.add_custom_resource(@license_resource) expect(Scimitar::Engine.resources()).to match_array([Scimitar::Resources::User, @license_resource]) end it 'rejects bad defaults' do expect { - Scimitar::Engine::set_default_resources([@license_resource]) - }.to raise_error('Scimitar::Engine::set_default_resources: Only Scimitar::Resources::User, Scimitar::Resources::Group are supported') + Scimitar::Engine.set_default_resources([@license_resource]) + }.to raise_error('Scimitar::Engine.set_default_resources: Only Scimitar::Resources::User, Scimitar::Resources::Group are supported') end it 'rejects empty defaults' do expect { - Scimitar::Engine::set_default_resources([]) - }.to raise_error('Scimitar::Engine::set_default_resources: At least one resource must be given') + Scimitar::Engine.set_default_resources([]) + }.to raise_error('Scimitar::Engine.set_default_resources: At least one resource must be given') end end # "context '::resources, :add_custom_resource, ::set_default_resources' do"