Sha256: 3f7787f278f55d1a6bacd6f283eb64e33d71b5a5b2ccd5e2ccfc4e629b6a7a23
Contents?: true
Size: 1.51 KB
Versions: 1
Compression:
Stored size: 1.51 KB
Contents
# frozen_string_literal: true # typed: true module WorkOS # The DirectoryUser class provides a lightweight wrapper around # a WorkOS DirectoryUser resource. This class is not meant to be instantiated # in DirectoryUser space, and is instantiated internally but exposed. class DirectoryUser extend T::Sig attr_accessor :id, :emails, :first_name, :last_name, :username, :state, :raw_attributes sig { params(json: String).void } def initialize(json) raw = parse_json(json) @id = T.let(raw.id, String) @emails = T.let(raw.emails, Array) @first_name = raw.first_name @last_name = raw.last_name @username = raw.username @state = raw.state @raw_attributes = raw.raw_attributes end def to_json(*) { id: id, emails: emails, first_name: first_name, last_name: last_name, username: username, state: state, raw_attributes: raw_attributes, } end private sig do params( json_string: String, ).returns(WorkOS::Types::DirectoryUserStruct) end def parse_json(json_string) hash = JSON.parse(json_string, symbolize_names: true) WorkOS::Types::DirectoryUserStruct.new( id: hash[:id], emails: hash[:emails], first_name: hash[:first_name], last_name: hash[:last_name], username: hash[:username], state: hash[:state], raw_attributes: hash[:raw_attributes], ) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
workos-0.11.0 | lib/workos/directory_user.rb |