Commit 1ce0672
Changed files (6)
lib
spec
scim
lib/scim/kit/v2/templates/service_provider_configuration.json.jbuilder
@@ -19,7 +19,7 @@ json.sort do
json.supported false
end
json.etag do
- json.supported false
+ render etag, json: json
end
json.authentication_schemes authentication_schemes do |authentication_scheme|
render authentication_scheme, json: json
lib/scim/kit/v2/templates/supportable.json.jbuilder
@@ -0,0 +1,3 @@
+# frozen_string_literal: true
+
+json.supported supported
lib/scim/kit/v2/service_provider_configuration.rb
@@ -10,11 +10,13 @@ module Scim
attr_accessor :documentation_uri
attr_accessor :created, :last_modified, :version
attr_reader :authentication_schemes
+ attr_reader :etag
def initialize(location:)
@location = location
@version = @created = @last_modified = Time.now
@authentication_schemes = []
+ @etag = Supportable.new
end
def add_authentication(type)
lib/scim/kit/v2/supportable.rb
@@ -0,0 +1,17 @@
+# frozen_string_literal: true
+
+module Scim
+ module Kit
+ module V2
+ class Supportable
+ include Templatable
+
+ attr_accessor :supported
+
+ def initialize
+ @supported = false
+ end
+ end
+ end
+ end
+end
lib/scim/kit.rb
@@ -14,6 +14,7 @@ require 'scim/kit/v2/resource_type'
require 'scim/kit/v2/returned'
require 'scim/kit/v2/schema'
require 'scim/kit/v2/service_provider_configuration'
+require 'scim/kit/v2/supportable'
require 'scim/kit/v2/uniqueness'
module Scim
spec/scim/kit/v2/service_provider_configuration_spec.rb
@@ -68,5 +68,13 @@ RSpec.describe Scim::Kit::V2::ServiceProviderConfiguration do
specify { expect(result[:authenticationSchemes][0][:documentationUri]).to eql('http://example.com/help/custom.html') }
specify { expect(result[:authenticationSchemes][0][:type]).to eql('custom') }
end
+
+ context "with etag support" do
+ before do
+ subject.etag.supported = true
+ end
+
+ specify { expect(result[:etag][:supported]).to be(true) }
+ end
end
end