class Scim::Kit::V2::ResourceType

Represents a ResourceType Schema tools.ietf.org/html/rfc7643#section-6

Attributes

description[RW]
endpoint[RW]
id[RW]
meta[RW]
name[RW]
schema[RW]
schema_extensions[R]

Public Class Methods

build(*args) { |item| ... } click to toggle source
# File lib/scim/kit/v2/resource_type.rb, line 29
def build(*args)
  item = new(*args)
  yield item
  item
end
from(hash) click to toggle source
# File lib/scim/kit/v2/resource_type.rb, line 35
def from(hash)
  x = new(location: hash[:location])
  x.meta = Meta.from(hash[:meta])
  %i[id name description endpoint schema].each do |key|
    x.public_send("#{key}=", hash[key])
  end
  hash[:schemaExtensions].each do |y|
    x.add_schema_extension(schema: y[:schema], required: y[:required])
  end
  x
end
new(location:) click to toggle source
# File lib/scim/kit/v2/resource_type.rb, line 18
def initialize(location:)
  @meta = Meta.new('ResourceType', location)
  @meta.version = @meta.created = @meta.last_modified = nil
  @schema_extensions = []
end
parse(json) click to toggle source
# File lib/scim/kit/v2/resource_type.rb, line 47
def parse(json)
  from(JSON.parse(json, symbolize_names: true))
end

Public Instance Methods

add_schema_extension(schema:, required: false) click to toggle source
# File lib/scim/kit/v2/resource_type.rb, line 24
def add_schema_extension(schema:, required: false)
  @schema_extensions.push(schema: schema, required: required)
end