comet_backup_ruby_sdk 0.2.0 → 1.2.0

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 (138) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -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 +562 -254
  8. data/lib/comet/definitions.rb +19 -4
  9. data/lib/comet/models/add_bucket_response_message.rb +15 -5
  10. data/lib/comet/models/admin_account_properties_response.rb +17 -2
  11. data/lib/comet/models/admin_email_options.rb +84 -0
  12. data/lib/comet/models/admin_resource_response.rb +13 -4
  13. data/lib/comet/models/admin_security_options.rb +18 -5
  14. data/lib/comet/models/admin_u2fregistration.rb +11 -3
  15. data/lib/comet/models/admin_user_permissions.rb +6 -2
  16. data/lib/comet/models/available_download.rb +10 -4
  17. data/lib/comet/models/azure_destination_location.rb +16 -7
  18. data/lib/comet/models/b2destination_location.rb +17 -6
  19. data/lib/comet/models/b2storage_extra_info.rb +6 -2
  20. data/lib/comet/models/b2transaction_totals.rb +15 -2
  21. data/lib/comet/models/b2virtual_storage_role_settings.rb +93 -0
  22. data/lib/comet/models/backup_job_advanced_options.rb +12 -2
  23. data/lib/comet/models/backup_job_detail.rb +53 -10
  24. data/lib/comet/models/backup_job_progress.rb +21 -2
  25. data/lib/comet/models/backup_rule_config.rb +43 -7
  26. data/lib/comet/models/backup_rule_event_triggers.rb +6 -2
  27. data/lib/comet/models/branding_options.rb +59 -25
  28. data/lib/comet/models/branding_properties.rb +51 -21
  29. data/lib/comet/models/browse_disk_drives_response.rb +11 -3
  30. data/lib/comet/models/browse_edbresponse.rb +11 -3
  31. data/lib/comet/models/browse_hvresponse.rb +11 -3
  32. data/lib/comet/models/browse_vssresponse.rb +11 -3
  33. data/lib/comet/models/bucket_properties.rb +24 -3
  34. data/lib/comet/models/bucket_usage_info.rb +8 -2
  35. data/lib/comet/models/comet_apiresponse_message.rb +11 -3
  36. data/lib/comet/models/comet_destination_location.rb +12 -5
  37. data/lib/comet/models/constellation_check_report.rb +12 -2
  38. data/lib/comet/models/constellation_stats.rb +18 -2
  39. data/lib/comet/models/constellation_status_apiresponse.rb +9 -4
  40. data/lib/comet/models/content_measurement.rb +12 -2
  41. data/lib/comet/models/content_measurement_component.rb +10 -3
  42. data/lib/comet/models/create_group_policy_response.rb +13 -4
  43. data/lib/comet/models/default_email_report_policy.rb +6 -2
  44. data/lib/comet/models/destination_config.rb +123 -32
  45. data/lib/comet/models/destination_location.rb +78 -28
  46. data/lib/comet/models/destination_statistics.rb +16 -3
  47. data/lib/comet/models/device_config.rb +9 -3
  48. data/lib/comet/models/disk_drive.rb +34 -7
  49. data/lib/comet/models/dispatcher_admin_sources_response.rb +12 -4
  50. data/lib/comet/models/dispatcher_stored_objects_response.rb +11 -3
  51. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +11 -3
  52. data/lib/comet/models/edbfile_info.rb +12 -5
  53. data/lib/comet/models/email_options.rb +21 -8
  54. data/lib/comet/models/email_report_config.rb +10 -2
  55. data/lib/comet/models/email_report_generated_preview.rb +17 -6
  56. data/lib/comet/models/external_ldapauthentication_source_settings.rb +102 -0
  57. data/lib/comet/models/extra_file_exclusion.rb +11 -3
  58. data/lib/comet/models/ftpdestination_location.rb +23 -6
  59. data/lib/comet/models/get_group_policy_response.rb +14 -4
  60. data/lib/comet/models/get_profile_and_hash_response_message.rb +14 -4
  61. data/lib/comet/models/get_profile_hash_response_message.rb +13 -4
  62. data/lib/comet/models/group_policy.rb +18 -3
  63. data/lib/comet/models/hyper_vmachine_info.rb +10 -4
  64. data/lib/comet/models/install_creds.rb +99 -0
  65. data/lib/comet/models/install_token.rb +117 -0
  66. data/lib/comet/models/install_token_response.rb +92 -0
  67. data/lib/comet/models/job_entry.rb +93 -0
  68. data/lib/comet/models/live_user_connection.rb +20 -7
  69. data/lib/comet/models/local_destination_location.rb +15 -5
  70. data/lib/comet/models/mac_oscode_sign_properties.rb +21 -6
  71. data/lib/comet/models/mongo_dbconnection.rb +33 -14
  72. data/lib/comet/models/new_bucket_detail.rb +10 -4
  73. data/lib/comet/models/news_entry.rb +20 -3
  74. data/lib/comet/models/organization.rb +145 -0
  75. data/lib/comet/models/organization_response.rb +101 -0
  76. data/lib/comet/models/osinfo.rb +12 -5
  77. data/lib/comet/models/partition.rb +32 -8
  78. data/lib/comet/models/private_branding_properties.rb +39 -15
  79. data/lib/comet/models/protected_item_engine_type_policy.rb +7 -3
  80. data/lib/comet/models/public_branding_properties.rb +18 -8
  81. data/lib/comet/models/remote_server_address.rb +19 -7
  82. data/lib/comet/models/remote_storage_option.rb +28 -7
  83. data/lib/comet/models/replicator_state_apiresponse.rb +40 -4
  84. data/lib/comet/models/request_storage_vault_response_message.rb +13 -4
  85. data/lib/comet/models/restore_job_advanced_options.rb +15 -4
  86. data/lib/comet/models/retention_policy.rb +9 -2
  87. data/lib/comet/models/retention_range.rb +30 -2
  88. data/lib/comet/models/s3destination_location.rb +16 -7
  89. data/lib/comet/models/schedule_config.rb +15 -2
  90. data/lib/comet/models/search_clause.rb +14 -6
  91. data/lib/comet/models/server_config_options_branding_fragment.rb +7 -2
  92. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +7 -2
  93. data/lib/comet/models/server_meta_version_info.rb +45 -7
  94. data/lib/comet/models/session_key_regenerated_response.rb +15 -5
  95. data/lib/comet/models/sftpdestination_location.rb +21 -8
  96. data/lib/comet/models/size_measurement.rb +15 -2
  97. data/lib/comet/models/software_build_role_options.rb +6 -2
  98. data/lib/comet/models/software_update_news_response.rb +13 -6
  99. data/lib/comet/models/source_basic_info.rb +11 -3
  100. data/lib/comet/models/source_config.rb +38 -8
  101. data/lib/comet/models/source_statistics.rb +7 -2
  102. data/lib/comet/models/spanned_destination_location.rb +6 -2
  103. data/lib/comet/models/spanned_storage_extra_info.rb +6 -2
  104. data/lib/comet/models/sshconnection.rb +19 -7
  105. data/lib/comet/models/stat_result.rb +18 -2
  106. data/lib/comet/models/storage_free_space_info.rb +14 -2
  107. data/lib/comet/models/storage_vault_provider_policy.rb +8 -2
  108. data/lib/comet/models/stored_object.rb +27 -5
  109. data/lib/comet/models/streamable_event.rb +18 -2
  110. data/lib/comet/models/swift_destination_location.rb +32 -15
  111. data/lib/comet/models/test_response.rb +11 -3
  112. data/lib/comet/models/totp_regenerated_response.rb +17 -6
  113. data/lib/comet/models/u2fregister_request.rb +10 -4
  114. data/lib/comet/models/u2fregistered_key.rb +12 -5
  115. data/lib/comet/models/u2fregistration_challenge_response.rb +15 -5
  116. data/lib/comet/models/u2fsign_request.rb +12 -5
  117. data/lib/comet/models/u2fsign_response.rb +14 -6
  118. data/lib/comet/models/uninstall_config.rb +6 -2
  119. data/lib/comet/models/update_campaign_device_status.rb +9 -2
  120. data/lib/comet/models/update_campaign_options.rb +6 -2
  121. data/lib/comet/models/update_campaign_properties.rb +11 -3
  122. data/lib/comet/models/update_campaign_status.rb +11 -3
  123. data/lib/comet/models/update_campaign_status_device_entry.rb +13 -4
  124. data/lib/comet/models/user_custom_email_settings.rb +6 -2
  125. data/lib/comet/models/user_on_server.rb +11 -3
  126. data/lib/comet/models/user_policy.rb +22 -2
  127. data/lib/comet/models/user_profile_config.rb +52 -12
  128. data/lib/comet/models/user_profile_fragment.rb +8 -3
  129. data/lib/comet/models/vault_snapshot.rb +13 -4
  130. data/lib/comet/models/vsscomponent.rb +12 -5
  131. data/lib/comet/models/vsswriter_info.rb +8 -3
  132. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +93 -0
  133. data/lib/comet/models/web_interface_branding_properties.rb +14 -6
  134. data/lib/comet/models/webhook_option.rb +10 -3
  135. data/lib/comet/models/win_smbauth.rb +15 -5
  136. data/lib/comet/models/windows_code_sign_properties.rb +26 -9
  137. data/lib/comet_backup_ruby_sdk.rb +10 -0
  138. metadata +15 -2
@@ -27,27 +27,35 @@ 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
  @disks = []
31
37
  @unknown_json_fields = {}
32
38
  end
33
39
 
34
40
  # @param [String] json_string The complete object in JSON format
35
41
  def from_json(json_string)
36
- 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
37
43
 
38
44
  from_hash(JSON.parse(json_string))
39
45
  end
40
46
 
41
47
  # @param [Hash] obj The complete object as a Ruby hash
42
48
  def from_hash(obj)
43
- raise TypeError 'expected hash' unless obj.is_a? Hash
49
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
50
 
45
51
  obj.each do |k, v|
46
52
  case k
47
53
  when 'Status'
54
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
48
56
  @status = v
49
57
  when 'Message'
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
  @message = v
53
61
  when 'Disks'
@@ -27,27 +27,35 @@ 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
  @databases = []
31
37
  @unknown_json_fields = {}
32
38
  end
33
39
 
34
40
  # @param [String] json_string The complete object in JSON format
35
41
  def from_json(json_string)
36
- 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
37
43
 
38
44
  from_hash(JSON.parse(json_string))
39
45
  end
40
46
 
41
47
  # @param [Hash] obj The complete object as a Ruby hash
42
48
  def from_hash(obj)
43
- raise TypeError 'expected hash' unless obj.is_a? Hash
49
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
50
 
45
51
  obj.each do |k, v|
46
52
  case k
47
53
  when 'Status'
54
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
48
56
  @status = v
49
57
  when 'Message'
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
  @message = v
53
61
  when 'Databases'
@@ -27,27 +27,35 @@ 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
  @virtual_machines = []
31
37
  @unknown_json_fields = {}
32
38
  end
33
39
 
34
40
  # @param [String] json_string The complete object in JSON format
35
41
  def from_json(json_string)
36
- 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
37
43
 
38
44
  from_hash(JSON.parse(json_string))
39
45
  end
40
46
 
41
47
  # @param [Hash] obj The complete object as a Ruby hash
42
48
  def from_hash(obj)
43
- raise TypeError 'expected hash' unless obj.is_a? Hash
49
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
50
 
45
51
  obj.each do |k, v|
46
52
  case k
47
53
  when 'Status'
54
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
48
56
  @status = v
49
57
  when 'Message'
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
  @message = v
53
61
  when 'VirtualMachines'
@@ -27,27 +27,35 @@ 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
  @vsswriters = {}
31
37
  @unknown_json_fields = {}
32
38
  end
33
39
 
34
40
  # @param [String] json_string The complete object in JSON format
35
41
  def from_json(json_string)
36
- 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
37
43
 
38
44
  from_hash(JSON.parse(json_string))
39
45
  end
40
46
 
41
47
  # @param [Hash] obj The complete object as a Ruby hash
42
48
  def from_hash(obj)
43
- raise TypeError 'expected hash' unless obj.is_a? Hash
49
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
50
 
45
51
  obj.each do |k, v|
46
52
  case k
47
53
  when 'Status'
54
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
48
56
  @status = v
49
57
  when 'Message'
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
  @message = v
53
61
  when 'VSSWriters'
@@ -14,6 +14,9 @@ module Comet
14
14
  # BucketProperties is a typed class wrapper around the underlying Comet Server API data structure.
15
15
  class BucketProperties
16
16
 
17
+ # @type [String] organization_id
18
+ attr_accessor :organization_id
19
+
17
20
  # @type [Number] create_time
18
21
  attr_accessor :create_time
19
22
 
@@ -30,28 +33,45 @@ module Comet
30
33
  attr_accessor :unknown_json_fields
31
34
 
32
35
  def initialize
36
+ clear
37
+ end
38
+
39
+ def clear
40
+ @organization_id = ''
41
+ @create_time = 0
42
+ @read_write_key_format = 0
43
+ @read_write_key = ''
44
+ @size = Comet::SizeMeasurement.new
33
45
  @unknown_json_fields = {}
34
46
  end
35
47
 
36
48
  # @param [String] json_string The complete object in JSON format
37
49
  def from_json(json_string)
38
- 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
39
51
 
40
52
  from_hash(JSON.parse(json_string))
41
53
  end
42
54
 
43
55
  # @param [Hash] obj The complete object as a Ruby hash
44
56
  def from_hash(obj)
45
- raise TypeError 'expected hash' unless obj.is_a? Hash
57
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
58
 
47
59
  obj.each do |k, v|
48
60
  case k
61
+ when 'OrganizationID'
62
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
63
+
64
+ @organization_id = v
49
65
  when 'CreateTime'
66
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
67
+
50
68
  @create_time = v
51
69
  when 'ReadWriteKeyFormat'
70
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
+
52
72
  @read_write_key_format = v
53
73
  when 'ReadWriteKey'
54
- raise TypeError 'expected string' unless v.is_a? String
74
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
55
75
 
56
76
  @read_write_key = v
57
77
  when 'Size'
@@ -66,6 +86,7 @@ module Comet
66
86
  # @return [Hash] The complete object as a Ruby hash
67
87
  def to_hash
68
88
  ret = {}
89
+ ret['OrganizationID'] = @organization_id
69
90
  ret['CreateTime'] = @create_time
70
91
  ret['ReadWriteKeyFormat'] = @read_write_key_format
71
92
  ret['ReadWriteKey'] = @read_write_key
@@ -24,6 +24,10 @@ module Comet
24
24
  attr_accessor :unknown_json_fields
25
25
 
26
26
  def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
27
31
  @exists_on_servers = []
28
32
  @in_use_by = []
29
33
  @unknown_json_fields = {}
@@ -31,14 +35,14 @@ module Comet
31
35
 
32
36
  # @param [String] json_string The complete object in JSON format
33
37
  def from_json(json_string)
34
- 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
35
39
 
36
40
  from_hash(JSON.parse(json_string))
37
41
  end
38
42
 
39
43
  # @param [Hash] obj The complete object as a Ruby hash
40
44
  def from_hash(obj)
41
- raise TypeError 'expected hash' unless obj.is_a? Hash
45
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
42
46
 
43
47
  obj.each do |k, v|
44
48
  case k
@@ -48,6 +52,8 @@ module Comet
48
52
  else
49
53
  @exists_on_servers = Array.new(v.length)
50
54
  v.each_with_index do |v1, i1|
55
+ raise TypeError "'v1' expected Numeric, got #{v1.class}" unless v1.is_a? Numeric
56
+
51
57
  @exists_on_servers[i1] = v1
52
58
  end
53
59
  end
@@ -24,26 +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
+ @status = 0
32
+ @message = ''
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 'Status'
50
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
51
+
44
52
  @status = v
45
53
  when 'Message'
46
- raise TypeError 'expected string' unless v.is_a? String
54
+ raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
47
55
 
48
56
  @message = v
49
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
+ @comet_server = ''
35
+ @comet_bucket = ''
36
+ @comet_bucket_key = ''
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 'CometServer'
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
  @comet_server = v
50
57
  when 'CometBucket'
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
  @comet_bucket = v
54
61
  when 'CometBucketKey'
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
  @comet_bucket_key = v
58
65
  else
@@ -27,26 +27,36 @@ module Comet
27
27
  attr_accessor :unknown_json_fields
28
28
 
29
29
  def initialize
30
+ clear
31
+ end
32
+
33
+ def clear
34
+ @check_started = 0
35
+ @check_completed = 0
30
36
  @usage = {}
31
37
  @unknown_json_fields = {}
32
38
  end
33
39
 
34
40
  # @param [String] json_string The complete object in JSON format
35
41
  def from_json(json_string)
36
- 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
37
43
 
38
44
  from_hash(JSON.parse(json_string))
39
45
  end
40
46
 
41
47
  # @param [Hash] obj The complete object as a Ruby hash
42
48
  def from_hash(obj)
43
- raise TypeError 'expected hash' unless obj.is_a? Hash
49
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
50
 
45
51
  obj.each do |k, v|
46
52
  case k
47
53
  when 'CheckStarted'
54
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
48
56
  @check_started = v
49
57
  when 'CheckCompleted'
58
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
59
+
50
60
  @check_completed = v
51
61
  when 'Usage'
52
62
  @usage = {}
@@ -30,29 +30,45 @@ module Comet
30
30
  attr_accessor :unknown_json_fields
31
31
 
32
32
  def initialize
33
+ clear
34
+ end
35
+
36
+ def clear
37
+ @last_check_start = 0
38
+ @total_checks_started = 0
39
+ @total_buckets_deleted = 0
40
+ @checks_currently_active = 0
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 'LastCheckStart'
58
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
59
+
50
60
  @last_check_start = v
51
61
  when 'TotalChecksStarted'
62
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
63
+
52
64
  @total_checks_started = v
53
65
  when 'TotalBucketsDeleted'
66
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
67
+
54
68
  @total_buckets_deleted = v
55
69
  when 'ChecksCurrentlyActive'
70
+ raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
+
56
72
  @checks_currently_active = v
57
73
  else
58
74
  @unknown_json_fields[k] = v
@@ -30,21 +30,26 @@ module Comet
30
30
  attr_accessor :unknown_json_fields
31
31
 
32
32
  def initialize
33
+ clear
34
+ end
35
+
36
+ def clear
33
37
  @targets = []
34
38
  @target_names = []
39
+ @stats = Comet::ConstellationStats.new
35
40
  @unknown_json_fields = {}
36
41
  end
37
42
 
38
43
  # @param [String] json_string The complete object in JSON format
39
44
  def from_json(json_string)
40
- raise TypeError 'expected string' unless json_string.is_a? String
45
+ raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
41
46
 
42
47
  from_hash(JSON.parse(json_string))
43
48
  end
44
49
 
45
50
  # @param [Hash] obj The complete object as a Ruby hash
46
51
  def from_hash(obj)
47
- raise TypeError 'expected hash' unless obj.is_a? Hash
52
+ raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
48
53
 
49
54
  obj.each do |k, v|
50
55
  case k
@@ -56,7 +61,7 @@ module Comet
56
61
  else
57
62
  @targets = Array.new(v.length)
58
63
  v.each_with_index do |v1, i1|
59
- raise TypeError 'expected string' unless v1.is_a? String
64
+ raise TypeError "'v1' expected String, got #{v1.class}" unless v1.is_a? String
60
65
 
61
66
  @targets[i1] = v1
62
67
  end
@@ -67,7 +72,7 @@ module Comet
67
72
  else
68
73
  @target_names = Array.new(v.length)
69
74
  v.each_with_index do |v1, i1|
70
- raise TypeError 'expected string' unless v1.is_a? String
75
+ raise TypeError "'v1' expected String, got #{v1.class}" unless v1.is_a? String
71
76
 
72
77
  @target_names[i1] = v1
73
78
  end