Class: Comet::WebAuthnCredentialDescriptor

Inherits:
Object
  • Object
show all
Defined in:
lib/comet/models/web_authn_credential_descriptor.rb

Overview

WebAuthnCredentialDescriptor is a typed class wrapper around the underlying Comet Server API data structure.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeWebAuthnCredentialDescriptor

Returns a new instance of WebAuthnCredentialDescriptor.



29
30
31
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 29

def initialize
  clear
end

Instance Attribute Details

#credential_idObject

When this field is expressed as a WebAuthnCredentialDescriptor class instance, this field may contain binary data. When this field is expressed as JSON, the field is expressed as base64. The marshalling methods on this class will automatically perform base64 conversion as necessary.



21
22
23
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 21

def credential_id
  @credential_id
end

#transportObject

Returns the value of attribute transport.



24
25
26
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 24

def transport
  @transport
end

#typeObject

Returns the value of attribute type.



17
18
19
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 17

def type
  @type
end

#unknown_json_fieldsObject

Returns the value of attribute unknown_json_fields.



27
28
29
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 27

def unknown_json_fields
  @unknown_json_fields
end

Instance Method Details

#clearObject



33
34
35
36
37
38
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 33

def clear
  @type = ''
  @credential_id = []
  @transport = []
  @unknown_json_fields = {}
end

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash

Raises:

  • (TypeError)


48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 48

def from_hash(obj)
  raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash

  obj.each do |k, v|
    case k
    when 'type'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @type = v
    when 'id'
      @credential_id = Base64.decode64(v)
    when 'transports'
      if v.nil?
        @transport = []
      else
        @transport = Array.new(v.length)
        v.each_with_index do |v1, i1|
          raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String

          @transport[i1] = v1
        end
      end
    else
      @unknown_json_fields[k] = v
    end
  end
end

#from_json(json_string) ⇒ Object

Parameters:

  • json_string (String)

    The complete object in JSON format

Raises:

  • (TypeError)


41
42
43
44
45
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 41

def from_json(json_string)
  raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String

  from_hash(JSON.parse(json_string))
end

#to_hHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



91
92
93
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 91

def to_h
  to_hash
end

#to_hashHash

Returns The complete object as a Ruby hash.

Returns:

  • (Hash)

    The complete object as a Ruby hash



77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 77

def to_hash
  ret = {}
  ret['type'] = @type
  ret['id'] = Base64.strict_encode64(@credential_id)
  unless @transport.nil?
    ret['transports'] = @transport
  end
  @unknown_json_fields.each do |k, v|
    ret[k] = v
  end
  ret
end

#to_json(options = {}) ⇒ String

Returns The complete object as a JSON string.

Returns:

  • (String)

    The complete object as a JSON string



96
97
98
# File 'lib/comet/models/web_authn_credential_descriptor.rb', line 96

def to_json(options = {})
  to_hash.to_json(options)
end