comet_backup_ruby_sdk 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/Gemfile.lock +43 -0
  4. data/README.md +20 -4
  5. data/RELEASING.md +10 -0
  6. data/comet_backup_ruby_sdk.gemspec +1 -1
  7. data/lib/comet/comet_server.rb +184 -136
  8. data/lib/comet/definitions.rb +4 -4
  9. data/lib/comet/models/add_bucket_response_message.rb +15 -5
  10. data/lib/comet/models/admin_account_properties_response.rb +8 -2
  11. data/lib/comet/models/admin_resource_response.rb +13 -4
  12. data/lib/comet/models/admin_security_options.rb +18 -5
  13. data/lib/comet/models/admin_u2fregistration.rb +11 -3
  14. data/lib/comet/models/admin_user_permissions.rb +6 -2
  15. data/lib/comet/models/available_download.rb +10 -4
  16. data/lib/comet/models/azure_destination_location.rb +16 -7
  17. data/lib/comet/models/b2destination_location.rb +17 -6
  18. data/lib/comet/models/b2storage_extra_info.rb +6 -2
  19. data/lib/comet/models/b2transaction_totals.rb +15 -2
  20. data/lib/comet/models/backup_job_advanced_options.rb +12 -2
  21. data/lib/comet/models/backup_job_detail.rb +53 -10
  22. data/lib/comet/models/backup_job_progress.rb +21 -2
  23. data/lib/comet/models/backup_rule_config.rb +27 -7
  24. data/lib/comet/models/backup_rule_event_triggers.rb +6 -2
  25. data/lib/comet/models/branding_options.rb +59 -25
  26. data/lib/comet/models/branding_properties.rb +51 -21
  27. data/lib/comet/models/browse_disk_drives_response.rb +11 -3
  28. data/lib/comet/models/browse_edbresponse.rb +11 -3
  29. data/lib/comet/models/browse_hvresponse.rb +11 -3
  30. data/lib/comet/models/browse_vssresponse.rb +11 -3
  31. data/lib/comet/models/bucket_properties.rb +15 -3
  32. data/lib/comet/models/bucket_usage_info.rb +8 -2
  33. data/lib/comet/models/comet_apiresponse_message.rb +11 -3
  34. data/lib/comet/models/comet_destination_location.rb +12 -5
  35. data/lib/comet/models/constellation_check_report.rb +12 -2
  36. data/lib/comet/models/constellation_stats.rb +18 -2
  37. data/lib/comet/models/constellation_status_apiresponse.rb +9 -4
  38. data/lib/comet/models/content_measurement.rb +12 -2
  39. data/lib/comet/models/content_measurement_component.rb +10 -3
  40. data/lib/comet/models/create_group_policy_response.rb +13 -4
  41. data/lib/comet/models/default_email_report_policy.rb +6 -2
  42. data/lib/comet/models/destination_config.rb +101 -32
  43. data/lib/comet/models/destination_location.rb +78 -28
  44. data/lib/comet/models/destination_statistics.rb +16 -3
  45. data/lib/comet/models/device_config.rb +9 -3
  46. data/lib/comet/models/disk_drive.rb +34 -7
  47. data/lib/comet/models/dispatcher_admin_sources_response.rb +12 -4
  48. data/lib/comet/models/dispatcher_stored_objects_response.rb +11 -3
  49. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +11 -3
  50. data/lib/comet/models/edbfile_info.rb +12 -5
  51. data/lib/comet/models/email_options.rb +21 -8
  52. data/lib/comet/models/email_report_config.rb +10 -2
  53. data/lib/comet/models/email_report_generated_preview.rb +17 -6
  54. data/lib/comet/models/extra_file_exclusion.rb +11 -3
  55. data/lib/comet/models/ftpdestination_location.rb +23 -6
  56. data/lib/comet/models/get_group_policy_response.rb +14 -4
  57. data/lib/comet/models/get_profile_and_hash_response_message.rb +14 -4
  58. data/lib/comet/models/get_profile_hash_response_message.rb +13 -4
  59. data/lib/comet/models/group_policy.rb +9 -3
  60. data/lib/comet/models/hyper_vmachine_info.rb +10 -4
  61. data/lib/comet/models/job_entry.rb +93 -0
  62. data/lib/comet/models/live_user_connection.rb +20 -7
  63. data/lib/comet/models/local_destination_location.rb +15 -5
  64. data/lib/comet/models/mac_oscode_sign_properties.rb +21 -6
  65. data/lib/comet/models/mongo_dbconnection.rb +33 -14
  66. data/lib/comet/models/new_bucket_detail.rb +10 -4
  67. data/lib/comet/models/news_entry.rb +11 -3
  68. data/lib/comet/models/osinfo.rb +12 -5
  69. data/lib/comet/models/partition.rb +32 -8
  70. data/lib/comet/models/private_branding_properties.rb +39 -15
  71. data/lib/comet/models/protected_item_engine_type_policy.rb +7 -3
  72. data/lib/comet/models/public_branding_properties.rb +18 -8
  73. data/lib/comet/models/remote_server_address.rb +19 -7
  74. data/lib/comet/models/remote_storage_option.rb +22 -7
  75. data/lib/comet/models/replicator_state_apiresponse.rb +40 -4
  76. data/lib/comet/models/request_storage_vault_response_message.rb +13 -4
  77. data/lib/comet/models/restore_job_advanced_options.rb +15 -4
  78. data/lib/comet/models/retention_policy.rb +9 -2
  79. data/lib/comet/models/retention_range.rb +30 -2
  80. data/lib/comet/models/s3destination_location.rb +16 -7
  81. data/lib/comet/models/schedule_config.rb +15 -2
  82. data/lib/comet/models/search_clause.rb +14 -6
  83. data/lib/comet/models/server_config_options_branding_fragment.rb +7 -2
  84. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +7 -2
  85. data/lib/comet/models/server_meta_version_info.rb +45 -7
  86. data/lib/comet/models/session_key_regenerated_response.rb +15 -5
  87. data/lib/comet/models/sftpdestination_location.rb +21 -8
  88. data/lib/comet/models/size_measurement.rb +15 -2
  89. data/lib/comet/models/software_build_role_options.rb +6 -2
  90. data/lib/comet/models/software_update_news_response.rb +13 -6
  91. data/lib/comet/models/source_basic_info.rb +11 -3
  92. data/lib/comet/models/source_config.rb +22 -8
  93. data/lib/comet/models/source_statistics.rb +7 -2
  94. data/lib/comet/models/spanned_destination_location.rb +6 -2
  95. data/lib/comet/models/spanned_storage_extra_info.rb +6 -2
  96. data/lib/comet/models/sshconnection.rb +19 -7
  97. data/lib/comet/models/stat_result.rb +18 -2
  98. data/lib/comet/models/storage_free_space_info.rb +14 -2
  99. data/lib/comet/models/storage_vault_provider_policy.rb +8 -2
  100. data/lib/comet/models/stored_object.rb +27 -5
  101. data/lib/comet/models/streamable_event.rb +9 -2
  102. data/lib/comet/models/swift_destination_location.rb +32 -15
  103. data/lib/comet/models/test_response.rb +11 -3
  104. data/lib/comet/models/totp_regenerated_response.rb +17 -6
  105. data/lib/comet/models/u2fregister_request.rb +10 -4
  106. data/lib/comet/models/u2fregistered_key.rb +12 -5
  107. data/lib/comet/models/u2fregistration_challenge_response.rb +15 -5
  108. data/lib/comet/models/u2fsign_request.rb +12 -5
  109. data/lib/comet/models/u2fsign_response.rb +14 -6
  110. data/lib/comet/models/uninstall_config.rb +6 -2
  111. data/lib/comet/models/update_campaign_device_status.rb +9 -2
  112. data/lib/comet/models/update_campaign_options.rb +6 -2
  113. data/lib/comet/models/update_campaign_properties.rb +11 -3
  114. data/lib/comet/models/update_campaign_status.rb +11 -3
  115. data/lib/comet/models/update_campaign_status_device_entry.rb +13 -4
  116. data/lib/comet/models/user_custom_email_settings.rb +6 -2
  117. data/lib/comet/models/user_on_server.rb +11 -3
  118. data/lib/comet/models/user_policy.rb +22 -2
  119. data/lib/comet/models/user_profile_config.rb +41 -12
  120. data/lib/comet/models/user_profile_fragment.rb +8 -3
  121. data/lib/comet/models/vault_snapshot.rb +13 -4
  122. data/lib/comet/models/vsscomponent.rb +12 -5
  123. data/lib/comet/models/vsswriter_info.rb +8 -3
  124. data/lib/comet/models/web_interface_branding_properties.rb +14 -6
  125. data/lib/comet/models/webhook_option.rb +10 -3
  126. data/lib/comet/models/win_smbauth.rb +15 -5
  127. data/lib/comet/models/windows_code_sign_properties.rb +26 -9
  128. data/lib/comet_backup_ruby_sdk.rb +1 -0
  129. metadata +6 -2
@@ -24,23 +24,30 @@ module Comet
24
24
  attr_accessor :unknown_json_fields
25
25
 
26
26
  def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @type = 0
27
32
  @unknown_json_fields = {}
28
33
  end
29
34
 
30
35
  # @param [String] json_string The complete object in JSON format
31
36
  def from_json(json_string)
32
- raise TypeError 'expected string' unless json_string.is_a? String
37
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
33
38
 
34
39
  from_hash(JSON.parse(json_string))
35
40
  end
36
41
 
37
42
  # @param [Hash] obj The complete object as a Ruby hash
38
43
  def from_hash(obj)
39
- raise TypeError 'expected hash' unless obj.is_a? Hash
44
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
40
45
 
41
46
  obj.each do |k, v|
42
47
  case k
43
48
  when 'Type'
49
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
50
+
44
51
  @type = v
45
52
  when 'Data'
46
53
  @data = v
@@ -57,72 +57,89 @@ module Comet
57
57
  attr_accessor :unknown_json_fields
58
58
 
59
59
  def initialize
60
+ clear
61
+ end
62
+
63
+ def clear
64
+ @username = ''
65
+ @apikey = ''
66
+ @region = ''
67
+ @auth_url = ''
68
+ @domain = ''
69
+ @tenant = ''
70
+ @tenant_domain = ''
71
+ @tenant_id = ''
72
+ @trust_id = ''
73
+ @auth_token = ''
74
+ @prefix = ''
75
+ @container = ''
76
+ @default_container_policy = ''
60
77
  @unknown_json_fields = {}
61
78
  end
62
79
 
63
80
  # @param [String] json_string The complete object in JSON format
64
81
  def from_json(json_string)
65
- raise TypeError 'expected string' unless json_string.is_a? String
82
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
66
83
 
67
84
  from_hash(JSON.parse(json_string))
68
85
  end
69
86
 
70
87
  # @param [Hash] obj The complete object as a Ruby hash
71
88
  def from_hash(obj)
72
- raise TypeError 'expected hash' unless obj.is_a? Hash
89
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
73
90
 
74
91
  obj.each do |k, v|
75
92
  case k
76
93
  when 'Username'
77
- raise TypeError 'expected string' unless v.is_a? String
94
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
78
95
 
79
96
  @username = v
80
97
  when 'APIKey'
81
- raise TypeError 'expected string' unless v.is_a? String
98
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
82
99
 
83
100
  @apikey = v
84
101
  when 'Region'
85
- raise TypeError 'expected string' unless v.is_a? String
102
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
86
103
 
87
104
  @region = v
88
105
  when 'AuthURL'
89
- raise TypeError 'expected string' unless v.is_a? String
106
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
90
107
 
91
108
  @auth_url = v
92
109
  when 'Domain'
93
- raise TypeError 'expected string' unless v.is_a? String
110
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
94
111
 
95
112
  @domain = v
96
113
  when 'Tenant'
97
- raise TypeError 'expected string' unless v.is_a? String
114
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
98
115
 
99
116
  @tenant = v
100
117
  when 'TenantDomain'
101
- raise TypeError 'expected string' unless v.is_a? String
118
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
102
119
 
103
120
  @tenant_domain = v
104
121
  when 'TenantID'
105
- raise TypeError 'expected string' unless v.is_a? String
122
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
106
123
 
107
124
  @tenant_id = v
108
125
  when 'TrustID'
109
- raise TypeError 'expected string' unless v.is_a? String
126
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
110
127
 
111
128
  @trust_id = v
112
129
  when 'AuthToken'
113
- raise TypeError 'expected string' unless v.is_a? String
130
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
114
131
 
115
132
  @auth_token = v
116
133
  when 'Prefix'
117
- raise TypeError 'expected string' unless v.is_a? String
134
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
118
135
 
119
136
  @prefix = v
120
137
  when 'Container'
121
- raise TypeError 'expected string' unless v.is_a? String
138
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
122
139
 
123
140
  @container = v
124
141
  when 'DefaultContainerPolicy'
125
- raise TypeError 'expected string' unless v.is_a? String
142
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
126
143
 
127
144
  @default_container_policy = v
128
145
  else
@@ -27,26 +27,34 @@ module Comet
27
27
  attr_accessor :unknown_json_fields
28
28
 
29
29
  def initialize
30
+ clear
31
+ end
32
+
33
+ def clear
34
+ @status = 0
35
+ @message = ''
30
36
  @unknown_json_fields = {}
31
37
  end
32
38
 
33
39
  # @param [String] json_string The complete object in JSON format
34
40
  def from_json(json_string)
35
- raise TypeError 'expected string' unless json_string.is_a? String
41
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
36
42
 
37
43
  from_hash(JSON.parse(json_string))
38
44
  end
39
45
 
40
46
  # @param [Hash] obj The complete object as a Ruby hash
41
47
  def from_hash(obj)
42
- raise TypeError 'expected hash' unless obj.is_a? Hash
48
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
43
49
 
44
50
  obj.each do |k, v|
45
51
  case k
46
52
  when 'Status'
53
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
54
+
47
55
  @status = v
48
56
  when 'Message'
49
- raise TypeError 'expected string' unless v.is_a? String
57
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
50
58
 
51
59
  @message = v
52
60
  when 'Exists'
@@ -33,38 +33,49 @@ module Comet
33
33
  attr_accessor :unknown_json_fields
34
34
 
35
35
  def initialize
36
+ clear
37
+ end
38
+
39
+ def clear
40
+ @status = 0
41
+ @message = ''
42
+ @image = ''
43
+ @url = ''
44
+ @profile_hash = ''
36
45
  @unknown_json_fields = {}
37
46
  end
38
47
 
39
48
  # @param [String] json_string The complete object in JSON format
40
49
  def from_json(json_string)
41
- raise TypeError 'expected string' unless json_string.is_a? String
50
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
42
51
 
43
52
  from_hash(JSON.parse(json_string))
44
53
  end
45
54
 
46
55
  # @param [Hash] obj The complete object as a Ruby hash
47
56
  def from_hash(obj)
48
- raise TypeError 'expected hash' unless obj.is_a? Hash
57
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
49
58
 
50
59
  obj.each do |k, v|
51
60
  case k
52
61
  when 'Status'
62
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
63
+
53
64
  @status = v
54
65
  when 'Message'
55
- raise TypeError 'expected string' unless v.is_a? String
66
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
56
67
 
57
68
  @message = v
58
69
  when 'Image'
59
- raise TypeError 'expected string' unless v.is_a? String
70
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
60
71
 
61
72
  @image = v
62
73
  when 'URL'
63
- raise TypeError 'expected string' unless v.is_a? String
74
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
64
75
 
65
76
  @url = v
66
77
  when 'ProfileHash'
67
- raise TypeError 'expected string' unless v.is_a? String
78
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
68
79
 
69
80
  @profile_hash = v
70
81
  else
@@ -24,28 +24,34 @@ module Comet
24
24
  attr_accessor :unknown_json_fields
25
25
 
26
26
  def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @challenge = ''
32
+ @version = ''
27
33
  @unknown_json_fields = {}
28
34
  end
29
35
 
30
36
  # @param [String] json_string The complete object in JSON format
31
37
  def from_json(json_string)
32
- raise TypeError 'expected string' unless json_string.is_a? String
38
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
33
39
 
34
40
  from_hash(JSON.parse(json_string))
35
41
  end
36
42
 
37
43
  # @param [Hash] obj The complete object as a Ruby hash
38
44
  def from_hash(obj)
39
- raise TypeError 'expected hash' unless obj.is_a? Hash
45
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
40
46
 
41
47
  obj.each do |k, v|
42
48
  case k
43
49
  when 'Challenge'
44
- raise TypeError 'expected string' unless v.is_a? String
50
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
45
51
 
46
52
  @challenge = v
47
53
  when 'Version'
48
- raise TypeError 'expected string' unless v.is_a? String
54
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
49
55
 
50
56
  @version = v
51
57
  else
@@ -27,32 +27,39 @@ module Comet
27
27
  attr_accessor :unknown_json_fields
28
28
 
29
29
  def initialize
30
+ clear
31
+ end
32
+
33
+ def clear
34
+ @app_id = ''
35
+ @key_handle = ''
36
+ @version = ''
30
37
  @unknown_json_fields = {}
31
38
  end
32
39
 
33
40
  # @param [String] json_string The complete object in JSON format
34
41
  def from_json(json_string)
35
- raise TypeError 'expected string' unless json_string.is_a? String
42
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
36
43
 
37
44
  from_hash(JSON.parse(json_string))
38
45
  end
39
46
 
40
47
  # @param [Hash] obj The complete object as a Ruby hash
41
48
  def from_hash(obj)
42
- raise TypeError 'expected hash' unless obj.is_a? Hash
49
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
43
50
 
44
51
  obj.each do |k, v|
45
52
  case k
46
53
  when 'AppID'
47
- raise TypeError 'expected string' unless v.is_a? String
54
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
48
55
 
49
56
  @app_id = v
50
57
  when 'KeyHandle'
51
- raise TypeError 'expected string' unless v.is_a? String
58
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
52
59
 
53
60
  @key_handle = v
54
61
  when 'Version'
55
- raise TypeError 'expected string' unless v.is_a? String
62
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
56
63
 
57
64
  @version = v
58
65
  else
@@ -36,6 +36,14 @@ module Comet
36
36
  attr_accessor :unknown_json_fields
37
37
 
38
38
  def initialize
39
+ clear
40
+ end
41
+
42
+ def clear
43
+ @status = 0
44
+ @message = ''
45
+ @challenge_id = ''
46
+ @app_id = ''
39
47
  @registered_keys = []
40
48
  @register_requests = []
41
49
  @unknown_json_fields = {}
@@ -43,29 +51,31 @@ module Comet
43
51
 
44
52
  # @param [String] json_string The complete object in JSON format
45
53
  def from_json(json_string)
46
- raise TypeError 'expected string' unless json_string.is_a? String
54
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
47
55
 
48
56
  from_hash(JSON.parse(json_string))
49
57
  end
50
58
 
51
59
  # @param [Hash] obj The complete object as a Ruby hash
52
60
  def from_hash(obj)
53
- raise TypeError 'expected hash' unless obj.is_a? Hash
61
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
54
62
 
55
63
  obj.each do |k, v|
56
64
  case k
57
65
  when 'Status'
66
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
67
+
58
68
  @status = v
59
69
  when 'Message'
60
- raise TypeError 'expected string' unless v.is_a? String
70
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
61
71
 
62
72
  @message = v
63
73
  when 'ChallengeID'
64
- raise TypeError 'expected string' unless v.is_a? String
74
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
65
75
 
66
76
  @challenge_id = v
67
77
  when 'AppID'
68
- raise TypeError 'expected string' unless v.is_a? String
78
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
69
79
 
70
80
  @app_id = v
71
81
  when 'RegisteredKeys'
@@ -30,33 +30,40 @@ module Comet
30
30
  attr_accessor :unknown_json_fields
31
31
 
32
32
  def initialize
33
+ clear
34
+ end
35
+
36
+ def clear
37
+ @challenge_id = ''
38
+ @challenge_data = ''
39
+ @app_id = ''
33
40
  @registered_keys = []
34
41
  @unknown_json_fields = {}
35
42
  end
36
43
 
37
44
  # @param [String] json_string The complete object in JSON format
38
45
  def from_json(json_string)
39
- raise TypeError 'expected string' unless json_string.is_a? String
46
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
40
47
 
41
48
  from_hash(JSON.parse(json_string))
42
49
  end
43
50
 
44
51
  # @param [Hash] obj The complete object as a Ruby hash
45
52
  def from_hash(obj)
46
- raise TypeError 'expected hash' unless obj.is_a? Hash
53
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
47
54
 
48
55
  obj.each do |k, v|
49
56
  case k
50
57
  when 'ChallengeID'
51
- raise TypeError 'expected string' unless v.is_a? String
58
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
52
59
 
53
60
  @challenge_id = v
54
61
  when 'ChallengeData'
55
- raise TypeError 'expected string' unless v.is_a? String
62
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
56
63
 
57
64
  @challenge_data = v
58
65
  when 'AppID'
59
- raise TypeError 'expected string' unless v.is_a? String
66
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
60
67
 
61
68
  @app_id = v
62
69
  when 'RegisteredKeys'
@@ -30,36 +30,44 @@ module Comet
30
30
  attr_accessor :unknown_json_fields
31
31
 
32
32
  def initialize
33
+ clear
34
+ end
35
+
36
+ def clear
37
+ @challenge_id = ''
38
+ @key_handle = ''
39
+ @signature = ''
40
+ @client_data = ''
33
41
  @unknown_json_fields = {}
34
42
  end
35
43
 
36
44
  # @param [String] json_string The complete object in JSON format
37
45
  def from_json(json_string)
38
- raise TypeError 'expected string' unless json_string.is_a? String
46
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
39
47
 
40
48
  from_hash(JSON.parse(json_string))
41
49
  end
42
50
 
43
51
  # @param [Hash] obj The complete object as a Ruby hash
44
52
  def from_hash(obj)
45
- raise TypeError 'expected hash' unless obj.is_a? Hash
53
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
54
 
47
55
  obj.each do |k, v|
48
56
  case k
49
57
  when 'ChallengeID'
50
- raise TypeError 'expected string' unless v.is_a? String
58
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
51
59
 
52
60
  @challenge_id = v
53
61
  when 'KeyHandle'
54
- raise TypeError 'expected string' unless v.is_a? String
62
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
55
63
 
56
64
  @key_handle = v
57
65
  when 'Signature'
58
- raise TypeError 'expected string' unless v.is_a? String
66
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
59
67
 
60
68
  @signature = v
61
69
  when 'ClientData'
62
- raise TypeError 'expected string' unless v.is_a? String
70
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
63
71
 
64
72
  @client_data = v
65
73
  else