comet_backup_ruby_sdk 1.1.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/Gemfile.lock +2 -2
  4. data/LICENSE +1 -1
  5. data/RELEASING.md +5 -3
  6. data/comet_backup_ruby_sdk.gemspec +1 -1
  7. data/lib/comet/api_response_error.rb +1 -1
  8. data/lib/comet/comet_server.rb +445 -169
  9. data/lib/comet/definitions.rb +42 -4
  10. data/lib/comet/models/add_bucket_response_message.rb +7 -7
  11. data/lib/comet/models/admin_account_properties_response.rb +4 -4
  12. data/lib/comet/models/admin_email_options.rb +5 -5
  13. data/lib/comet/models/admin_resource_response.rb +6 -6
  14. data/lib/comet/models/admin_security_options.rb +8 -8
  15. data/lib/comet/models/admin_u2fregistration.rb +5 -5
  16. data/lib/comet/models/admin_user_permissions.rb +3 -3
  17. data/lib/comet/models/available_download.rb +5 -5
  18. data/lib/comet/models/azure_destination_location.rb +8 -8
  19. data/lib/comet/models/b2destination_location.rb +8 -8
  20. data/lib/comet/models/b2storage_extra_info.rb +3 -3
  21. data/lib/comet/models/b2transaction_totals.rb +6 -6
  22. data/lib/comet/models/b2virtual_storage_role_settings.rb +6 -6
  23. data/lib/comet/models/backup_job_advanced_options.rb +5 -5
  24. data/lib/comet/models/backup_job_detail.rb +54 -21
  25. data/lib/comet/models/backup_job_progress.rb +8 -8
  26. data/lib/comet/models/backup_rule_config.rb +28 -12
  27. data/lib/comet/models/backup_rule_event_triggers.rb +3 -3
  28. data/lib/comet/models/branding_options.rb +37 -28
  29. data/lib/comet/models/branding_properties.rb +33 -24
  30. data/lib/comet/models/browse_disk_drives_response.rb +5 -5
  31. data/lib/comet/models/browse_edbresponse.rb +5 -5
  32. data/lib/comet/models/browse_hvresponse.rb +5 -5
  33. data/lib/comet/models/browse_office_365objects_response.rb +99 -0
  34. data/lib/comet/models/browse_sqlserver_response.rb +100 -0
  35. data/lib/comet/models/browse_vssresponse.rb +5 -5
  36. data/lib/comet/models/bucket_properties.rb +7 -7
  37. data/lib/comet/models/bucket_usage_info.rb +4 -4
  38. data/lib/comet/models/comet_apiresponse_message.rb +5 -5
  39. data/lib/comet/models/comet_destination_location.rb +6 -6
  40. data/lib/comet/models/constellation_check_report.rb +5 -5
  41. data/lib/comet/models/constellation_stats.rb +7 -7
  42. data/lib/comet/models/constellation_status_apiresponse.rb +5 -5
  43. data/lib/comet/models/content_measurement.rb +5 -5
  44. data/lib/comet/models/content_measurement_component.rb +5 -5
  45. data/lib/comet/models/create_group_policy_response.rb +6 -6
  46. data/lib/comet/models/custom_remote_bucket_settings.rb +75 -0
  47. data/lib/comet/models/default_email_report_policy.rb +3 -3
  48. data/lib/comet/models/default_source_with_osrestriction.rb +83 -0
  49. data/lib/comet/models/destination_config.rb +66 -44
  50. data/lib/comet/models/destination_location.rb +41 -35
  51. data/lib/comet/models/destination_statistics.rb +6 -6
  52. data/lib/comet/models/device_config.rb +4 -4
  53. data/lib/comet/models/disk_drive.rb +14 -14
  54. data/lib/comet/models/dispatcher_admin_sources_response.rb +6 -6
  55. data/lib/comet/models/dispatcher_stored_objects_response.rb +5 -5
  56. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +5 -5
  57. data/lib/comet/models/edbfile_info.rb +6 -6
  58. data/lib/comet/models/email_options.rb +10 -10
  59. data/lib/comet/models/email_report_config.rb +4 -4
  60. data/lib/comet/models/email_report_generated_preview.rb +8 -8
  61. data/lib/comet/models/external_ldapauthentication_source_settings.rb +40 -7
  62. data/lib/comet/models/extra_file_exclusion.rb +5 -5
  63. data/lib/comet/models/ftpdestination_location.rb +10 -10
  64. data/lib/comet/models/get_group_policy_response.rb +6 -6
  65. data/lib/comet/models/get_profile_and_hash_response_message.rb +6 -6
  66. data/lib/comet/models/get_profile_hash_response_message.rb +6 -6
  67. data/lib/comet/models/group_policy.rb +5 -5
  68. data/lib/comet/models/hyper_vmachine_info.rb +5 -5
  69. data/lib/comet/models/install_creds.rb +6 -6
  70. data/lib/comet/models/install_token.rb +8 -8
  71. data/lib/comet/models/install_token_response.rb +5 -5
  72. data/lib/comet/models/job_entry.rb +6 -6
  73. data/lib/comet/models/live_user_connection.rb +9 -9
  74. data/lib/comet/models/local_destination_location.rb +7 -7
  75. data/lib/comet/models/mac_oscode_sign_properties.rb +9 -9
  76. data/lib/comet/models/mongo_dbconnection.rb +16 -16
  77. data/lib/comet/models/mssqlconnection.rb +120 -0
  78. data/lib/comet/models/my_sqlconnection.rb +102 -0
  79. data/lib/comet/models/new_bucket_detail.rb +5 -5
  80. data/lib/comet/models/news_entry.rb +6 -6
  81. data/lib/comet/models/office_365connection.rb +123 -0
  82. data/lib/comet/models/office_365credential.rb +111 -0
  83. data/lib/comet/models/office_365custom_setting.rb +132 -0
  84. data/lib/comet/models/office_365object_info.rb +118 -0
  85. data/lib/comet/models/organization.rb +11 -5
  86. data/lib/comet/models/organization_response.rb +6 -6
  87. data/lib/comet/models/osinfo.rb +6 -6
  88. data/lib/comet/models/partition.rb +14 -14
  89. data/lib/comet/models/private_branding_properties.rb +27 -18
  90. data/lib/comet/models/protected_item_engine_type_policy.rb +4 -4
  91. data/lib/comet/models/public_branding_properties.rb +9 -9
  92. data/lib/comet/models/register_office_application_begin_response.rb +93 -0
  93. data/lib/comet/models/register_office_application_check_response.rb +100 -0
  94. data/lib/comet/models/remote_server_address.rb +18 -8
  95. data/lib/comet/models/remote_storage_option.rb +19 -9
  96. data/lib/comet/models/replicator_state_apiresponse.rb +15 -15
  97. data/lib/comet/models/request_storage_vault_response_message.rb +6 -6
  98. data/lib/comet/models/restore_job_advanced_options.rb +23 -7
  99. data/lib/comet/models/retention_policy.rb +4 -4
  100. data/lib/comet/models/retention_range.rb +11 -11
  101. data/lib/comet/models/s3destination_location.rb +8 -8
  102. data/lib/comet/models/schedule_config.rb +6 -6
  103. data/lib/comet/models/search_clause.rb +7 -7
  104. data/lib/comet/models/self_backup_statistics.rb +108 -0
  105. data/lib/comet/models/server_config_options_branding_fragment.rb +3 -3
  106. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +3 -3
  107. data/lib/comet/models/server_meta_branding_properties.rb +135 -0
  108. data/lib/comet/models/server_meta_version_info.rb +33 -18
  109. data/lib/comet/models/session_key_regenerated_response.rb +7 -7
  110. data/lib/comet/models/sftpdestination_location.rb +10 -10
  111. data/lib/comet/models/size_measurement.rb +6 -6
  112. data/lib/comet/models/software_build_role_options.rb +3 -3
  113. data/lib/comet/models/software_update_news_response.rb +7 -7
  114. data/lib/comet/models/source_basic_info.rb +5 -5
  115. data/lib/comet/models/source_config.rb +27 -11
  116. data/lib/comet/models/source_include_pattern.rb +84 -0
  117. data/lib/comet/models/source_statistics.rb +11 -3
  118. data/lib/comet/models/spanned_destination_location.rb +9 -3
  119. data/lib/comet/models/spanned_storage_extra_info.rb +3 -3
  120. data/lib/comet/models/sshconnection.rb +9 -9
  121. data/lib/comet/models/stat_result.rb +7 -7
  122. data/lib/comet/models/storage_free_space_info.rb +5 -5
  123. data/lib/comet/models/storage_vault_provider_policy.rb +4 -4
  124. data/lib/comet/models/stored_object.rb +96 -11
  125. data/lib/comet/models/streamable_event.rb +8 -6
  126. data/lib/comet/models/swift_destination_location.rb +16 -16
  127. data/lib/comet/models/test_response.rb +5 -5
  128. data/lib/comet/models/totp_regenerated_response.rb +8 -8
  129. data/lib/comet/models/u2fregister_request.rb +5 -5
  130. data/lib/comet/models/u2fregistered_key.rb +6 -6
  131. data/lib/comet/models/u2fregistration_challenge_response.rb +7 -7
  132. data/lib/comet/models/u2fsign_request.rb +6 -6
  133. data/lib/comet/models/u2fsign_response.rb +7 -7
  134. data/lib/comet/models/uninstall_config.rb +3 -3
  135. data/lib/comet/models/update_campaign_device_status.rb +4 -4
  136. data/lib/comet/models/update_campaign_options.rb +3 -3
  137. data/lib/comet/models/update_campaign_properties.rb +5 -5
  138. data/lib/comet/models/update_campaign_status.rb +5 -5
  139. data/lib/comet/models/update_campaign_status_device_entry.rb +6 -6
  140. data/lib/comet/models/user_custom_email_settings.rb +3 -3
  141. data/lib/comet/models/user_on_server.rb +5 -5
  142. data/lib/comet/models/user_policy.rb +22 -7
  143. data/lib/comet/models/user_profile_config.rb +19 -19
  144. data/lib/comet/models/user_profile_fragment.rb +4 -4
  145. data/lib/comet/models/vault_snapshot.rb +12 -6
  146. data/lib/comet/models/vsscomponent.rb +6 -6
  147. data/lib/comet/models/vsswriter_info.rb +4 -4
  148. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +6 -6
  149. data/lib/comet/models/web_interface_branding_properties.rb +7 -7
  150. data/lib/comet/models/webhook_option.rb +5 -5
  151. data/lib/comet/models/win_smbauth.rb +7 -7
  152. data/lib/comet/models/windows_code_sign_properties.rb +12 -12
  153. data/lib/comet_backup_ruby_sdk.rb +16 -1
  154. metadata +20 -5
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -17,6 +17,9 @@ module Comet
17
17
  # @type [Comet::BackupJobDetail] last_backup_job
18
18
  attr_accessor :last_backup_job
19
19
 
20
+ # @type [Comet::BackupJobDetail] last_successful_backup_job
21
+ attr_accessor :last_successful_backup_job
22
+
20
23
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
21
24
  attr_accessor :unknown_json_fields
22
25
 
@@ -26,25 +29,29 @@ module Comet
26
29
 
27
30
  def clear
28
31
  @last_backup_job = Comet::BackupJobDetail.new
32
+ @last_successful_backup_job = Comet::BackupJobDetail.new
29
33
  @unknown_json_fields = {}
30
34
  end
31
35
 
32
36
  # @param [String] json_string The complete object in JSON format
33
37
  def from_json(json_string)
34
- raise TypeError "'json_string' expected String, got #{json_string.class}" 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 "'obj' expected Hash, got #{obj.class}" 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
45
49
  when 'LastBackupJob'
46
50
  @last_backup_job = Comet::BackupJobDetail.new
47
51
  @last_backup_job.from_hash(v)
52
+ when 'LastSuccessfulBackupJob'
53
+ @last_successful_backup_job = Comet::BackupJobDetail.new
54
+ @last_successful_backup_job.from_hash(v)
48
55
  else
49
56
  @unknown_json_fields[k] = v
50
57
  end
@@ -55,6 +62,7 @@ module Comet
55
62
  def to_hash
56
63
  ret = {}
57
64
  ret['LastBackupJob'] = @last_backup_job
65
+ ret['LastSuccessfulBackupJob'] = @last_successful_backup_job
58
66
  @unknown_json_fields.each do |k, v|
59
67
  ret[k] = v
60
68
  end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -17,6 +17,9 @@ module Comet
17
17
  # @type [Array<Comet::DestinationLocation>] span_targets
18
18
  attr_accessor :span_targets
19
19
 
20
+ # @type [Boolean] span_use_static_slots
21
+ attr_accessor :span_use_static_slots
22
+
20
23
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
21
24
  attr_accessor :unknown_json_fields
22
25
 
@@ -31,14 +34,14 @@ module Comet
31
34
 
32
35
  # @param [String] json_string The complete object in JSON format
33
36
  def from_json(json_string)
34
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
37
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
35
38
 
36
39
  from_hash(JSON.parse(json_string))
37
40
  end
38
41
 
39
42
  # @param [Hash] obj The complete object as a Ruby hash
40
43
  def from_hash(obj)
41
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
42
45
 
43
46
  obj.each do |k, v|
44
47
  case k
@@ -52,6 +55,8 @@ module Comet
52
55
  @span_targets[i1].from_hash(v1)
53
56
  end
54
57
  end
58
+ when 'SpanUseStaticSlots'
59
+ @span_use_static_slots = v
55
60
  else
56
61
  @unknown_json_fields[k] = v
57
62
  end
@@ -62,6 +67,7 @@ module Comet
62
67
  def to_hash
63
68
  ret = {}
64
69
  ret['SpanTargets'] = @span_targets
70
+ ret['SpanUseStaticSlots'] = @span_use_static_slots
65
71
  @unknown_json_fields.each do |k, v|
66
72
  ret[k] = v
67
73
  end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -31,14 +31,14 @@ module Comet
31
31
 
32
32
  # @param [String] json_string The complete object in JSON format
33
33
  def from_json(json_string)
34
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
34
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
35
35
 
36
36
  from_hash(JSON.parse(json_string))
37
37
  end
38
38
 
39
39
  # @param [Hash] obj The complete object as a Ruby hash
40
40
  def from_hash(obj)
41
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
41
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
42
42
 
43
43
  obj.each do |k, v|
44
44
  case k
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -54,41 +54,41 @@ module Comet
54
54
 
55
55
  # @param [String] json_string The complete object in JSON format
56
56
  def from_json(json_string)
57
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
57
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
58
58
 
59
59
  from_hash(JSON.parse(json_string))
60
60
  end
61
61
 
62
62
  # @param [Hash] obj The complete object as a Ruby hash
63
63
  def from_hash(obj)
64
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
64
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
65
65
 
66
66
  obj.each do |k, v|
67
67
  case k
68
68
  when 'SSHServer'
69
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
69
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
70
70
 
71
71
  @sshserver = v
72
72
  when 'SSHUsername'
73
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
73
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
74
74
 
75
75
  @sshusername = v
76
76
  when 'SSHAuthMode'
77
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
77
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
78
78
 
79
79
  @sshauth_mode = v
80
80
  when 'SSHPassword'
81
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
81
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
82
82
 
83
83
  @sshpassword = v
84
84
  when 'SSHPrivateKey'
85
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
85
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
86
86
 
87
87
  @sshprivate_key = v
88
88
  when 'SSHCustomAuth_UseKnownHostsFile'
89
89
  @sshcustom_auth__use_known_hosts_file = v
90
90
  when 'SSHCustomAuth_KnownHostsFile'
91
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
91
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
92
92
 
93
93
  @sshcustom_auth__known_hosts_file = v
94
94
  else
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -43,31 +43,31 @@ module Comet
43
43
 
44
44
  # @param [String] json_string The complete object in JSON format
45
45
  def from_json(json_string)
46
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
46
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
47
47
 
48
48
  from_hash(JSON.parse(json_string))
49
49
  end
50
50
 
51
51
  # @param [Hash] obj The complete object as a Ruby hash
52
52
  def from_hash(obj)
53
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
53
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
54
54
 
55
55
  obj.each do |k, v|
56
56
  case k
57
57
  when 'Buckets'
58
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
58
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
59
59
 
60
60
  @buckets = v
61
61
  when 'Users'
62
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
62
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
63
63
 
64
64
  @users = v
65
65
  when 'Devices'
66
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
66
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
67
67
 
68
68
  @devices = v
69
69
  when 'Boosters'
70
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
70
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
71
 
72
72
  @boosters = v
73
73
  else
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -46,25 +46,25 @@ module Comet
46
46
 
47
47
  # @param [String] json_string The complete object in JSON format
48
48
  def from_json(json_string)
49
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
49
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
50
50
 
51
51
  from_hash(JSON.parse(json_string))
52
52
  end
53
53
 
54
54
  # @param [Hash] obj The complete object as a Ruby hash
55
55
  def from_hash(obj)
56
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
56
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
57
57
 
58
58
  obj.each do |k, v|
59
59
  case k
60
60
  when 'Unlimited'
61
61
  @unlimited = v
62
62
  when 'UsedPercent'
63
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
63
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
64
64
 
65
65
  @used_percent = v
66
66
  when 'AvailableBytes'
67
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
67
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
68
68
 
69
69
  @available_bytes = v
70
70
  when 'Spanned'
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -34,14 +34,14 @@ module Comet
34
34
 
35
35
  # @param [String] json_string The complete object in JSON format
36
36
  def from_json(json_string)
37
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
37
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
38
38
 
39
39
  from_hash(JSON.parse(json_string))
40
40
  end
41
41
 
42
42
  # @param [Hash] obj The complete object as a Ruby hash
43
43
  def from_hash(obj)
44
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
45
45
 
46
46
  obj.each do |k, v|
47
47
  case k
@@ -53,7 +53,7 @@ module Comet
53
53
  else
54
54
  @allowed_providers_when_restricted = Array.new(v.length)
55
55
  v.each_with_index do |v1, i1|
56
- raise TypeError "'v1' expected Numeric, got #{v1.class}" unless v1.is_a? Numeric
56
+ raise TypeError, "'v1' expected Numeric, got #{v1.class}" unless v1.is_a? Numeric
57
57
 
58
58
  @allowed_providers_when_restricted[i1] = v1
59
59
  end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -29,6 +29,30 @@ module Comet
29
29
  # @type [Number] size
30
30
  attr_accessor :size
31
31
 
32
+ # @type [String] display_name
33
+ attr_accessor :display_name
34
+
35
+ # @type [String] item_class
36
+ attr_accessor :item_class
37
+
38
+ # @type [String] from
39
+ attr_accessor :from
40
+
41
+ # @type [String] to
42
+ attr_accessor :to
43
+
44
+ # @type [Number] received_date_time
45
+ attr_accessor :received_date_time
46
+
47
+ # @type [Boolean] has_attachments
48
+ attr_accessor :has_attachments
49
+
50
+ # @type [Number] start_time
51
+ attr_accessor :start_time
52
+
53
+ # @type [Number] end_time
54
+ attr_accessor :end_time
55
+
32
56
  # @type [Boolean] recursive_count_known
33
57
  attr_accessor :recursive_count_known
34
58
 
@@ -54,6 +78,13 @@ module Comet
54
78
  @type = ''
55
79
  @subtree = ''
56
80
  @size = 0
81
+ @display_name = ''
82
+ @item_class = ''
83
+ @from = ''
84
+ @to = ''
85
+ @received_date_time = 0
86
+ @start_time = 0
87
+ @end_time = 0
57
88
  @recursive_files = 0
58
89
  @recursive_bytes = 0
59
90
  @recursive_folders = 0
@@ -62,49 +93,79 @@ module Comet
62
93
 
63
94
  # @param [String] json_string The complete object in JSON format
64
95
  def from_json(json_string)
65
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
96
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
66
97
 
67
98
  from_hash(JSON.parse(json_string))
68
99
  end
69
100
 
70
101
  # @param [Hash] obj The complete object as a Ruby hash
71
102
  def from_hash(obj)
72
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
103
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
73
104
 
74
105
  obj.each do |k, v|
75
106
  case k
76
107
  when 'name'
77
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
108
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
78
109
 
79
110
  @name = v
80
111
  when 'mtime'
81
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
112
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
82
113
 
83
114
  @modify_time = v
84
115
  when 'type'
85
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
116
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
86
117
 
87
118
  @type = v
88
119
  when 'subtree'
89
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
120
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
90
121
 
91
122
  @subtree = v
92
123
  when 'size'
93
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
124
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
94
125
 
95
126
  @size = v
127
+ when 'dname'
128
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
129
+
130
+ @display_name = v
131
+ when 'itemClass'
132
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
133
+
134
+ @item_class = v
135
+ when 'from'
136
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
137
+
138
+ @from = v
139
+ when 'to'
140
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
141
+
142
+ @to = v
143
+ when 'rtime'
144
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
145
+
146
+ @received_date_time = v
147
+ when 'has_attachments'
148
+ @has_attachments = v
149
+ when 'stime'
150
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
151
+
152
+ @start_time = v
153
+ when 'etime'
154
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
155
+
156
+ @end_time = v
96
157
  when 'r'
97
158
  @recursive_count_known = v
98
159
  when 'f'
99
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
160
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
100
161
 
101
162
  @recursive_files = v
102
163
  when 'b'
103
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
164
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
104
165
 
105
166
  @recursive_bytes = v
106
167
  when 'd'
107
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
168
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
108
169
 
109
170
  @recursive_folders = v
110
171
  else
@@ -121,6 +182,30 @@ module Comet
121
182
  ret['type'] = @type
122
183
  ret['subtree'] = @subtree
123
184
  ret['size'] = @size
185
+ unless @display_name.nil?
186
+ ret['dname'] = @display_name
187
+ end
188
+ unless @item_class.nil?
189
+ ret['itemClass'] = @item_class
190
+ end
191
+ unless @from.nil?
192
+ ret['from'] = @from
193
+ end
194
+ unless @to.nil?
195
+ ret['to'] = @to
196
+ end
197
+ unless @received_date_time.nil?
198
+ ret['rtime'] = @received_date_time
199
+ end
200
+ unless @has_attachments.nil?
201
+ ret['has_attachments'] = @has_attachments
202
+ end
203
+ unless @start_time.nil?
204
+ ret['stime'] = @start_time
205
+ end
206
+ unless @end_time.nil?
207
+ ret['etime'] = @end_time
208
+ end
124
209
  unless @recursive_count_known.nil?
125
210
  ret['r'] = @recursive_count_known
126
211
  end