Commit ef2a594
Changed files (2)
lib
scim
kit
v2
spec
scim
kit
lib/scim/kit/v2/attribute.rb
@@ -32,15 +32,27 @@ module Scim
end
def renderable?
- return false if read_only? && _resource.mode?(:client)
- return false if write_only? &&
- (_resource.mode?(:server) || _value.blank?)
+ return false if server_only?
+ return false if client_only?
+ return false if restricted?
true
end
private
+ def server_only?
+ read_only? && _resource.mode?(:client)
+ end
+
+ def client_only?
+ write_only? && (_resource.mode?(:server) || _value.blank?)
+ end
+
+ def restricted?
+ _resource.mode?(:server) && type.returned == Returned::NEVER
+ end
+
def presence_of_value
return unless type.required && _value.blank?
spec/scim/kit/v2/attribute_spec.rb
@@ -282,7 +282,7 @@ RSpec.describe Scim::Kit::V2::Attribute do
context 'when returned type is `never`' do
before { type.returned = :never }
- xspecify { expect(subject).not_to be_renderable }
+ specify { expect(subject).not_to be_renderable }
end
end