Class: Audiences::Scim::ScimData
- Inherits:
-
Object
- Object
- Audiences::Scim::ScimData
- Defined in:
- lib/audiences/scim/scim_data.rb
Instance Method Summary collapse
- #add(object, key, val) ⇒ Object
- #remove(object, key, val) ⇒ Object
- #replace(object, key, value) ⇒ Object
Instance Method Details
#add(object, key, val) ⇒ Object
8 9 10 11 |
# File 'lib/audiences/scim/scim_data.rb', line 8 def add(object, key, val) value = object.data&.dig(*key.split(".")) || [] replace(key, [...value, val]) end |
#remove(object, key, val) ⇒ Object
13 14 15 16 17 |
# File 'lib/audiences/scim/scim_data.rb', line 13 def remove(object, key, val) values = object.data&.dig(*key.split(".")) || [] to_remove = [val].flatten.pluck("value") replace(key, values&.reject { |value| to_remove.include?(value["value"]) }) end |
#replace(object, key, value) ⇒ Object
6 |
# File 'lib/audiences/scim/scim_data.rb', line 6 def replace(object, key, value) = _replace(object.data || {}, key.split("."), value) |