Class: Comet::WebAuthnCredential

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

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeWebAuthnCredential

Returns a new instance of WebAuthnCredential.



36
37
38
# File 'lib/comet/models/web_authn_credential.rb', line 36

def initialize
  clear
end

Instance Attribute Details

#aaguidObject

When this field is expressed as a WebAuthnCredential 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.



25
26
27
# File 'lib/comet/models/web_authn_credential.rb', line 25

def aaguid
  @aaguid
end

#attestation_typeObject

Returns the value of attribute attestation_type.



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

def attestation_type
  @attestation_type
end

#clone_warningObject

Returns the value of attribute clone_warning.



31
32
33
# File 'lib/comet/models/web_authn_credential.rb', line 31

def clone_warning
  @clone_warning
end

#public_keyObject

When this field is expressed as a WebAuthnCredential 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.



18
19
20
# File 'lib/comet/models/web_authn_credential.rb', line 18

def public_key
  @public_key
end

#sign_countObject

Returns the value of attribute sign_count.



28
29
30
# File 'lib/comet/models/web_authn_credential.rb', line 28

def sign_count
  @sign_count
end

#unknown_json_fieldsObject

Returns the value of attribute unknown_json_fields.



34
35
36
# File 'lib/comet/models/web_authn_credential.rb', line 34

def unknown_json_fields
  @unknown_json_fields
end

Instance Method Details

#clearObject



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

def clear
  @public_key = []
  @attestation_type = ''
  @aaguid = []
  @sign_count = 0
  @unknown_json_fields = {}
end

#from_hash(obj) ⇒ Object

Parameters:

  • obj (Hash)

    The complete object as a Ruby hash

Raises:

  • (TypeError)


56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/comet/models/web_authn_credential.rb', line 56

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 'PublicKey'
      @public_key = Base64.decode64(v)
    when 'AttestationType'
      raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String

      @attestation_type = v
    when 'AAGUID'
      @aaguid = Base64.decode64(v)
    when 'SignCount'
      raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric

      @sign_count = v
    when 'CloneWarning'
      @clone_warning = v
    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)


49
50
51
52
53
# File 'lib/comet/models/web_authn_credential.rb', line 49

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



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

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



82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/comet/models/web_authn_credential.rb', line 82

def to_hash
  ret = {}
  ret['PublicKey'] = Base64.strict_encode64(@public_key)
  ret['AttestationType'] = @attestation_type
  ret['AAGUID'] = Base64.strict_encode64(@aaguid)
  ret['SignCount'] = @sign_count
  ret['CloneWarning'] = @clone_warning
  @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



101
102
103
# File 'lib/comet/models/web_authn_credential.rb', line 101

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