scim-kit 0.2.10 → 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 33385c673e7d22f17ef8d63edc67fe1bbd6929804f911c9975a5b182bb7de303
4
- data.tar.gz: 397e0416ac4feb3c286eed89556b2ddcea84978eaf6ffb31cd475ae4ca8f90b6
3
+ metadata.gz: c837475f698f79135b950846ef1a3a066a30d99ef2c7b68b2e0f200583ae7448
4
+ data.tar.gz: 715929f4b9e8124c4cdb4f5d4bc5ac2518e2c7f577dc0bf28ea68f7c2ca63b0e
5
5
  SHA512:
6
- metadata.gz: 94870076efae7bb2854afa211cc3670ae4a27f73a1cf330b3a6ef65bc8ae885bc68cb2258d73eb1d79d3638f9aaec75697486dbfd4ba4733515e192422e2ed2d
7
- data.tar.gz: 3fc8ccfb002af55083f41490486cf79b7d8d443e1005f6252592b11cf23166e8ccdec491e37d807048aedca63411ddfab0abcbc634bbd76be29023a4837ff521
6
+ metadata.gz: a9c38074c82da3dc850d5dd4d80205a0d82b47341777ac9038137462a40ce835c87f9a07137c0b2d2f9cd9b0dbeee02ffdbe2105e190751702f4ad9d8eef275b
7
+ data.tar.gz: f99a726c0ab5f697f00892292900b6589c2356cec36d924e8220c479bf683c4ffbf4f0495f29c29199cab0f770a9e8a7e359f3475ee7b76a6f66fa04104ce130
@@ -8,7 +8,7 @@ module Scim
8
8
  attr_reader :dynamic_attributes
9
9
 
10
10
  def define_attributes_for(resource, types)
11
- @dynamic_attributes = {}.with_indifferent_access
11
+ @dynamic_attributes ||= {}.with_indifferent_access
12
12
  types.each { |x| attribute(x, resource) }
13
13
  end
14
14
 
@@ -26,7 +26,8 @@ module Scim
26
26
  end
27
27
 
28
28
  def write_attribute(name, value)
29
- attribute_for(name)._value = value
29
+ attribute = attribute_for(name)
30
+ attribute._value = value
30
31
  end
31
32
 
32
33
  def create_module_for(type)
@@ -32,15 +32,27 @@ module Scim
32
32
  end
33
33
 
34
34
  def renderable?
35
- return false if read_only? && _resource.mode?(:client)
36
- return false if write_only? &&
37
- (_resource.mode?(:server) || _value.blank?)
35
+ return false if server_only?
36
+ return false if client_only?
37
+ return false if restricted?
38
38
 
39
39
  true
40
40
  end
41
41
 
42
42
  private
43
43
 
44
+ def server_only?
45
+ read_only? && _resource.mode?(:client)
46
+ end
47
+
48
+ def client_only?
49
+ write_only? && (_resource.mode?(:server) || _value.blank?)
50
+ end
51
+
52
+ def restricted?
53
+ _resource.mode?(:server) && type.returned == Returned::NEVER
54
+ end
55
+
44
56
  def presence_of_value
45
57
  return unless type.required && _value.blank?
46
58
 
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Scim
4
4
  module Kit
5
- VERSION = '0.2.10'
5
+ VERSION = '0.2.11'
6
6
  end
7
7
  end
data/scim-kit.gemspec CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |spec|
27
27
  File.basename(file)
28
28
  end
29
29
  spec.require_paths = ['lib']
30
+ spec.required_ruby_version = '>= 2.5.0'
30
31
 
31
32
  spec.add_dependency 'activemodel', '>= 5.2.0'
32
33
  spec.add_dependency 'tilt', '~> 2.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scim-kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - mo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-12 00:00:00.000000000 Z
11
+ date: 2019-01-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -233,7 +233,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
233
233
  requirements:
234
234
  - - ">="
235
235
  - !ruby/object:Gem::Version
236
- version: '0'
236
+ version: 2.5.0
237
237
  required_rubygems_version: !ruby/object:Gem::Requirement
238
238
  requirements:
239
239
  - - ">="