zm-ruby-client 2.2.7 → 3.0.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 (202) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +6 -0
  3. data/.ruby-version +1 -0
  4. data/CHANGELOG.md +10 -6
  5. data/Gemfile +1 -6
  6. data/README.md +10 -15
  7. data/VERSION +1 -1
  8. data/lib/zm/client/account/account.rb +35 -22
  9. data/lib/zm/client/account/account_aliases_collection.rb +14 -6
  10. data/lib/zm/client/account/account_dls_membership_collection.rb +10 -4
  11. data/lib/zm/client/account/account_dls_owner_collection.rb +8 -5
  12. data/lib/zm/client/account/account_jsns_builder.rb +31 -19
  13. data/lib/zm/client/account/account_jsns_initializer.rb +4 -14
  14. data/lib/zm/client/account/accounts_builder.rb +1 -1
  15. data/lib/zm/client/account/accounts_collection.rb +15 -8
  16. data/lib/zm/client/ace/ace.rb +5 -5
  17. data/lib/zm/client/ace/ace_jsns_builder.rb +8 -8
  18. data/lib/zm/client/ace/ace_jsns_initializer.rb +7 -7
  19. data/lib/zm/client/ace/aces_builder.rb +1 -1
  20. data/lib/zm/client/ace/aces_collection.rb +2 -2
  21. data/lib/zm/client/appointment/appointment.rb +27 -24
  22. data/lib/zm/client/appointment/appointment_jsns_builder.rb +29 -20
  23. data/lib/zm/client/appointment/appointment_jsns_initializer.rb +14 -13
  24. data/lib/zm/client/appointment/appointments_builder.rb +1 -1
  25. data/lib/zm/client/appointment/appointments_collection.rb +8 -7
  26. data/lib/zm/client/backup/backup.rb +6 -2
  27. data/lib/zm/client/backup/backup_jsns_initializer.rb +14 -12
  28. data/lib/zm/client/backup/backups_builder.rb +1 -1
  29. data/lib/zm/client/backup/backups_collection.rb +2 -1
  30. data/lib/zm/client/base/account_search_objects_collection.rb +46 -20
  31. data/lib/zm/client/base/admin_objects_collection.rb +22 -27
  32. data/lib/zm/client/base/base_account_jsns_builder.rb +1 -4
  33. data/lib/zm/client/base/base_jsns_initializer.rb +8 -8
  34. data/lib/zm/client/base/mailbox_infos_collection.rb +23 -15
  35. data/lib/zm/client/base/mailbox_object.rb +174 -69
  36. data/lib/zm/client/base/mailbox_prefs_collection.rb +4 -8
  37. data/lib/zm/client/base/object.rb +2 -2
  38. data/lib/zm/client/base/objects_builder.rb +7 -3
  39. data/lib/zm/client/base/objects_collection.rb +4 -13
  40. data/lib/zm/client/base/zimbra_attribute.rb +4 -17
  41. data/lib/zm/client/base/zimbra_attributes_collection.rb +16 -9
  42. data/lib/zm/client/base.rb +0 -1
  43. data/lib/zm/client/cluster/batch_request.rb +50 -0
  44. data/lib/zm/client/cluster/cluster.rb +49 -27
  45. data/lib/zm/client/cluster/cluster_config.rb +129 -40
  46. data/lib/zm/client/common/recipients.rb +2 -2
  47. data/lib/zm/client/common/utils.rb +1 -13
  48. data/lib/zm/client/common.rb +0 -1
  49. data/lib/zm/client/connector/{rest_account.rb → rest_connector.rb} +40 -50
  50. data/lib/zm/client/connector/soap_account.rb +19 -15
  51. data/lib/zm/client/connector/soap_admin.rb +9 -9
  52. data/lib/zm/client/connector/soap_base.rb +24 -17
  53. data/lib/zm/client/connector/soap_error.rb +3 -23
  54. data/lib/zm/client/constant.rb +18 -16
  55. data/lib/zm/client/contact/contact.rb +21 -40
  56. data/lib/zm/client/contact/contact_jsns_builder.rb +1 -1
  57. data/lib/zm/client/contact/contact_jsns_initializer.rb +4 -26
  58. data/lib/zm/client/contact/contacts_builder.rb +1 -1
  59. data/lib/zm/client/contact/contacts_collection.rb +4 -24
  60. data/lib/zm/client/contact/group_contact_jsns_builder.rb +18 -13
  61. data/lib/zm/client/contact/mod_group_contact.rb +6 -2
  62. data/lib/zm/client/cos/cos.rb +35 -11
  63. data/lib/zm/client/cos/cos_domains_collection.rb +1 -1
  64. data/lib/zm/client/cos/cos_jsns_builder.rb +22 -9
  65. data/lib/zm/client/cos/cos_jsns_initializer.rb +2 -6
  66. data/lib/zm/client/cos/cos_servers_collection.rb +5 -6
  67. data/lib/zm/client/cos/coses_builder.rb +1 -1
  68. data/lib/zm/client/cos/coses_collection.rb +6 -4
  69. data/lib/zm/client/datasource/datasource.rb +27 -34
  70. data/lib/zm/client/datasource/datasource_jsns_builder.rb +1 -1
  71. data/lib/zm/client/datasource/datasource_jsns_initializer.rb +5 -6
  72. data/lib/zm/client/datasource/datasources_builder.rb +6 -9
  73. data/lib/zm/client/datasource/datasources_collection.rb +6 -5
  74. data/lib/zm/client/distributionlist/distributionlist.rb +22 -42
  75. data/lib/zm/client/distributionlist/distributionlist_aliases_collection.rb +14 -6
  76. data/lib/zm/client/distributionlist/distributionlist_jsns_builder.rb +20 -16
  77. data/lib/zm/client/distributionlist/distributionlist_jsns_initializer.rb +2 -11
  78. data/lib/zm/client/distributionlist/distributionlist_members_collection.rb +20 -12
  79. data/lib/zm/client/distributionlist/distributionlist_owners_collection.rb +16 -5
  80. data/lib/zm/client/distributionlist/distributionlists_builder.rb +1 -1
  81. data/lib/zm/client/distributionlist/distributionlists_collection.rb +12 -6
  82. data/lib/zm/client/distributionlist/dls_membership_collection.rb +12 -6
  83. data/lib/zm/client/document/document.rb +16 -8
  84. data/lib/zm/client/document/document_jsns_builder.rb +1 -1
  85. data/lib/zm/client/document/document_jsns_initializer.rb +27 -26
  86. data/lib/zm/client/document/documents_builder.rb +1 -1
  87. data/lib/zm/client/document/documents_collection.rb +1 -1
  88. data/lib/zm/client/domain/domain.rb +18 -37
  89. data/lib/zm/client/domain/domain_accounts_collection.rb +1 -1
  90. data/lib/zm/client/domain/domain_distributionlists_collection.rb +1 -1
  91. data/lib/zm/client/domain/domain_jsns_builder.rb +18 -9
  92. data/lib/zm/client/domain/domain_jsns_initializer.rb +2 -6
  93. data/lib/zm/client/domain/domain_resources_collection.rb +1 -1
  94. data/lib/zm/client/domain/domains_builder.rb +1 -1
  95. data/lib/zm/client/domain/domains_collection.rb +12 -6
  96. data/lib/zm/client/filter_rules/filter_rule.rb +0 -9
  97. data/lib/zm/client/filter_rules/filter_rule_jsns_initializer.rb +7 -6
  98. data/lib/zm/client/filter_rules/filter_rules_builder.rb +1 -1
  99. data/lib/zm/client/filter_rules/filter_rules_collection.rb +5 -15
  100. data/lib/zm/client/filter_rules/outgoing_filter_rules_collection.rb +5 -2
  101. data/lib/zm/client/folder/folder.rb +73 -56
  102. data/lib/zm/client/folder/folder_grant.rb +7 -5
  103. data/lib/zm/client/folder/folder_grant_jsns_builder.rb +6 -3
  104. data/lib/zm/client/folder/folder_grants_collection.rb +2 -4
  105. data/lib/zm/client/folder/folder_jsns_builder.rb +14 -7
  106. data/lib/zm/client/folder/folder_jsns_initializer.rb +58 -40
  107. data/lib/zm/client/folder/folder_retention_policies_collection.rb +4 -2
  108. data/lib/zm/client/folder/folders_builder.rb +1 -1
  109. data/lib/zm/client/folder/folders_collection.rb +21 -18
  110. data/lib/zm/client/folder/folders_jsns_builder.rb +4 -2
  111. data/lib/zm/client/folder/mod_document_folder.rb +5 -4
  112. data/lib/zm/client/identity/identities_builder.rb +1 -1
  113. data/lib/zm/client/identity/identities_collection.rb +6 -5
  114. data/lib/zm/client/identity/identity.rb +9 -29
  115. data/lib/zm/client/identity/identity_jsns_builder.rb +8 -4
  116. data/lib/zm/client/identity/identity_jsns_initializer.rb +5 -4
  117. data/lib/zm/client/license/license.rb +7 -1
  118. data/lib/zm/client/license/license_jsns_initializer.rb +8 -5
  119. data/lib/zm/client/license/licenses_collection.rb +1 -1
  120. data/lib/zm/client/mailbox/mailbox_item_concern.rb +33 -0
  121. data/lib/zm/client/mailbox/mailbox_item_id.rb +7 -0
  122. data/lib/zm/client/message/attachments_collection.rb +2 -2
  123. data/lib/zm/client/message/message.rb +56 -52
  124. data/lib/zm/client/message/message_flags.rb +21 -13
  125. data/lib/zm/client/message/message_jsns_builder.rb +11 -6
  126. data/lib/zm/client/message/message_jsns_initializer.rb +24 -23
  127. data/lib/zm/client/message/messages_builder.rb +1 -1
  128. data/lib/zm/client/message/messages_collection.rb +1 -15
  129. data/lib/zm/client/mountpoint/mountpoint.rb +17 -25
  130. data/lib/zm/client/mountpoint/mountpoint_jsns_builder.rb +6 -3
  131. data/lib/zm/client/mountpoint/mountpoint_jsns_initializer.rb +25 -24
  132. data/lib/zm/client/mountpoint/mountpoints_builder.rb +1 -1
  133. data/lib/zm/client/mountpoint/mountpoints_collection.rb +13 -9
  134. data/lib/zm/client/mta_queue/mta_queue.rb +6 -2
  135. data/lib/zm/client/mta_queue/mta_queue_jsns_initializer.rb +3 -7
  136. data/lib/zm/client/mta_queue/mta_queues_builder.rb +3 -1
  137. data/lib/zm/client/mta_queue_item/mta_queue_item.rb +5 -3
  138. data/lib/zm/client/mta_queue_item/mta_queue_item_jsns_initializer.rb +1 -5
  139. data/lib/zm/client/mta_queue_item/mta_queue_items_builder.rb +3 -1
  140. data/lib/zm/client/mta_queue_item/mta_queue_items_collection.rb +3 -1
  141. data/lib/zm/client/resource/resource.rb +6 -18
  142. data/lib/zm/client/resource/resource_jsns_builder.rb +20 -13
  143. data/lib/zm/client/resource/resource_jsns_initializer.rb +4 -14
  144. data/lib/zm/client/resource/resources_builder.rb +1 -1
  145. data/lib/zm/client/resource/resources_collection.rb +12 -7
  146. data/lib/zm/client/search_folder/search_folder.rb +13 -29
  147. data/lib/zm/client/search_folder/search_folder_jsns_builder.rb +6 -6
  148. data/lib/zm/client/search_folder/search_folder_jsns_initializer.rb +19 -18
  149. data/lib/zm/client/search_folder/search_folders_builder.rb +1 -1
  150. data/lib/zm/client/search_folder/search_folders_collection.rb +6 -5
  151. data/lib/zm/client/server/server.rb +9 -3
  152. data/lib/zm/client/server/server_accounts_collection.rb +4 -2
  153. data/lib/zm/client/server/server_jsns_initializer.rb +1 -5
  154. data/lib/zm/client/server/servers_builder.rb +1 -1
  155. data/lib/zm/client/server/servers_collection.rb +17 -9
  156. data/lib/zm/client/share/share.rb +5 -3
  157. data/lib/zm/client/share/share_jsns_initializer.rb +15 -14
  158. data/lib/zm/client/share/share_mountpoints_collection.rb +3 -6
  159. data/lib/zm/client/share/shares_builder.rb +1 -1
  160. data/lib/zm/client/share/shares_collection.rb +6 -3
  161. data/lib/zm/client/signature/signature.rb +6 -21
  162. data/lib/zm/client/signature/signature_jsns_builder.rb +12 -7
  163. data/lib/zm/client/signature/signature_jsns_initializer.rb +5 -4
  164. data/lib/zm/client/signature/signatures_builder.rb +1 -1
  165. data/lib/zm/client/signature/signatures_collection.rb +6 -5
  166. data/lib/zm/client/soap_request/request_methods_admin.rb +56 -0
  167. data/lib/zm/client/soap_request/request_methods_mailbox.rb +60 -0
  168. data/lib/zm/client/soap_request/soap_constants.rb +7 -0
  169. data/lib/zm/client/soap_request/soap_context.rb +11 -2
  170. data/lib/zm/client/soap_request.rb +3 -0
  171. data/lib/zm/client/tag/account_object_tags_collection.rb +11 -9
  172. data/lib/zm/client/tag/tag.rb +8 -44
  173. data/lib/zm/client/tag/tag_jsns_builder.rb +4 -2
  174. data/lib/zm/client/tag/tag_jsns_initializer.rb +7 -6
  175. data/lib/zm/client/tag/tags_builder.rb +1 -1
  176. data/lib/zm/client/tag/tags_collection.rb +6 -5
  177. data/lib/zm/client/task/task.rb +6 -5
  178. data/lib/zm/client/task/task_jsns_initializer.rb +28 -27
  179. data/lib/zm/client/task/tasks_builder.rb +1 -1
  180. data/lib/zm/client/task/tasks_collection.rb +2 -2
  181. data/lib/zm/client/token.rb +52 -0
  182. data/lib/zm/client/upload/upload.rb +101 -95
  183. data/lib/zm/client/zm_logger.rb +83 -0
  184. data/lib/zm/client.rb +6 -1
  185. data/lib/zm/modules/base.rb +0 -1
  186. data/lib/zm/modules/belongs_to_folder.rb +6 -7
  187. data/lib/zm/modules/belongs_to_tag.rb +3 -1
  188. data/lib/zm/modules/common/zimbra-attrs.csv +3 -4
  189. data/lib/zm/modules/inspector.rb +2 -2
  190. data/lib/zm/modules/missing_method_static_collection.rb +2 -2
  191. data/lib/zm/support/cache/entry.rb +63 -0
  192. data/lib/zm/support/cache/file_store.rb +141 -0
  193. data/lib/zm/support/cache/null_store.rb +43 -0
  194. data/lib/zm/support/cache/request_strategy.rb +10 -0
  195. data/lib/zm/support/cache/store.rb +197 -0
  196. data/lib/zm/support/cache/strategy.rb +13 -0
  197. data/lib/zm/support/cache.rb +26 -0
  198. data/lib/zm-ruby-client.rb +2 -2
  199. data/zm-ruby-client.gemspec +10 -15
  200. metadata +37 -36
  201. data/lib/zm/client/common/token_metadata.rb +0 -44
  202. data/lib/zm/modules/zm_logger.rb +0 -26
@@ -2,5 +2,5 @@
2
2
 
3
3
  require 'zm/client'
4
4
 
5
- Kernel.warn "⚠️ [DEPRECATION] memorization will not be supported in zm-ruby-client 3.0. Please do not use .all method as memorized items."
6
- Kernel.warn "⚠️ [DEPRECATION] zm-ruby-client 3.0 will not support Ruby < 3.1"
5
+ Kernel.warn '⚠️ [DEPRECATION] memorization will not be supported in zm-ruby-client 3.0. Please do not use .all method as memorized items.'
6
+ Kernel.warn '⚠️ [DEPRECATION] zm-ruby-client 3.0 will not support Ruby < 3.1'
@@ -1,19 +1,14 @@
1
1
  # frozen_string_literal: true
2
- lib = File.expand_path('./lib/', __dir__)
3
- $LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
4
-
5
- require 'zm-ruby-client'
6
2
 
7
3
  Gem::Specification.new do |s|
8
- s.platform = Gem::Platform::RUBY
4
+ s.platform = Gem::Platform::RUBY
9
5
  s.name = 'zm-ruby-client'
10
- s.version = Zm::Client.version
11
- s.date = `date '+%Y-%m-%d'`
6
+ s.version = File.read(File.expand_path('./VERSION', __dir__)).strip
12
7
  s.summary = 'zm-ruby-client'
13
8
  s.description = 'Zimbra Soap Librairy using SOAP Json interface'
14
9
 
15
- s.required_ruby_version = ">= 2.7"
16
- s.required_rubygems_version = ">= 1.8.11"
10
+ s.required_ruby_version = '>= 3.2'
11
+ s.required_rubygems_version = '>= 1.8.11'
17
12
 
18
13
  s.license = 'GPL-3.0-only'
19
14
 
@@ -24,9 +19,9 @@ Gem::Specification.new do |s|
24
19
  s.files = `git ls-files`.split("\n").reject { |path| path.start_with?('test/', 'examples/') }
25
20
  s.require_paths = ['lib']
26
21
 
27
- s.add_dependency 'addressable', '2.8.7'
28
- s.add_dependency 'version_sorter', '2.3.0'
29
- s.add_dependency 'faraday', '>= 2.8.1'
30
- s.add_dependency 'faraday-multipart', '1.0.4'
31
- s.add_dependency "bundler", ">= 1.15.0"
32
- end
22
+ s.add_dependency 'bundler', '>= 1.15.0'
23
+ s.add_dependency 'faraday', '>= 2.14'
24
+ s.add_dependency 'faraday-multipart', '>= 1.1'
25
+ s.add_dependency 'msgpack', '>= 1.8.0'
26
+ s.metadata['rubygems_mfa_required'] = 'true'
27
+ end
metadata CHANGED
@@ -1,85 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zm-ruby-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.7
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maxime Désécot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-07-25 00:00:00.000000000 Z
11
+ date: 2025-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: addressable
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '='
18
- - !ruby/object:Gem::Version
19
- version: 2.8.7
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '='
25
- - !ruby/object:Gem::Version
26
- version: 2.8.7
27
- - !ruby/object:Gem::Dependency
28
- name: version_sorter
14
+ name: bundler
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - '='
17
+ - - ">="
32
18
  - !ruby/object:Gem::Version
33
- version: 2.3.0
19
+ version: 1.15.0
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - '='
24
+ - - ">="
39
25
  - !ruby/object:Gem::Version
40
- version: 2.3.0
26
+ version: 1.15.0
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: faraday
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
46
32
  - !ruby/object:Gem::Version
47
- version: 2.8.1
33
+ version: '2.14'
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - ">="
53
39
  - !ruby/object:Gem::Version
54
- version: 2.8.1
40
+ version: '2.14'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: faraday-multipart
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - '='
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: 1.0.4
47
+ version: '1.1'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - '='
52
+ - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: 1.0.4
54
+ version: '1.1'
69
55
  - !ruby/object:Gem::Dependency
70
- name: bundler
56
+ name: msgpack
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
74
60
  - !ruby/object:Gem::Version
75
- version: 1.15.0
61
+ version: 1.8.0
76
62
  type: :runtime
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - ">="
81
67
  - !ruby/object:Gem::Version
82
- version: 1.15.0
68
+ version: 1.8.0
83
69
  description: Zimbra Soap Librairy using SOAP Json interface
84
70
  email: maxime.desecot@gmail.com
85
71
  executables: []
@@ -87,6 +73,8 @@ extensions: []
87
73
  extra_rdoc_files: []
88
74
  files:
89
75
  - ".gitignore"
76
+ - ".rubocop.yml"
77
+ - ".ruby-version"
90
78
  - CHANGELOG.md
91
79
  - Gemfile
92
80
  - LICENSE
@@ -139,14 +127,14 @@ files:
139
127
  - lib/zm/client/base/zimbra_attribute.rb
140
128
  - lib/zm/client/base/zimbra_attributes_collection.rb
141
129
  - lib/zm/client/cluster.rb
130
+ - lib/zm/client/cluster/batch_request.rb
142
131
  - lib/zm/client/cluster/cluster.rb
143
132
  - lib/zm/client/cluster/cluster_config.rb
144
133
  - lib/zm/client/common.rb
145
134
  - lib/zm/client/common/message.rb
146
135
  - lib/zm/client/common/recipients.rb
147
- - lib/zm/client/common/token_metadata.rb
148
136
  - lib/zm/client/common/utils.rb
149
- - lib/zm/client/connector/rest_account.rb
137
+ - lib/zm/client/connector/rest_connector.rb
150
138
  - lib/zm/client/connector/soap_account.rb
151
139
  - lib/zm/client/connector/soap_admin.rb
152
140
  - lib/zm/client/connector/soap_base.rb
@@ -232,6 +220,8 @@ files:
232
220
  - lib/zm/client/license/license.rb
233
221
  - lib/zm/client/license/license_jsns_initializer.rb
234
222
  - lib/zm/client/license/licenses_collection.rb
223
+ - lib/zm/client/mailbox/mailbox_item_concern.rb
224
+ - lib/zm/client/mailbox/mailbox_item_id.rb
235
225
  - lib/zm/client/message.rb
236
226
  - lib/zm/client/message/attachments_collection.rb
237
227
  - lib/zm/client/message/message.rb
@@ -292,6 +282,8 @@ files:
292
282
  - lib/zm/client/soap_request/account_soap_constants.rb
293
283
  - lib/zm/client/soap_request/admin_soap_constants.rb
294
284
  - lib/zm/client/soap_request/mail_soap_constants.rb
285
+ - lib/zm/client/soap_request/request_methods_admin.rb
286
+ - lib/zm/client/soap_request/request_methods_mailbox.rb
295
287
  - lib/zm/client/soap_request/soap_constants.rb
296
288
  - lib/zm/client/soap_request/soap_context.rb
297
289
  - lib/zm/client/soap_request/soap_element.rb
@@ -307,9 +299,11 @@ files:
307
299
  - lib/zm/client/task/task_jsns_initializer.rb
308
300
  - lib/zm/client/task/tasks_builder.rb
309
301
  - lib/zm/client/task/tasks_collection.rb
302
+ - lib/zm/client/token.rb
310
303
  - lib/zm/client/upload.rb
311
304
  - lib/zm/client/upload/upload.rb
312
305
  - lib/zm/client/version.rb
306
+ - lib/zm/client/zm_logger.rb
313
307
  - lib/zm/modules/base.rb
314
308
  - lib/zm/modules/belongs_to_folder.rb
315
309
  - lib/zm/modules/belongs_to_tag.rb
@@ -318,14 +312,21 @@ files:
318
312
  - lib/zm/modules/has_soap_admin_connector.rb
319
313
  - lib/zm/modules/inspector.rb
320
314
  - lib/zm/modules/missing_method_static_collection.rb
321
- - lib/zm/modules/zm_logger.rb
322
315
  - lib/zm/modules/zm_model.rb
316
+ - lib/zm/support/cache.rb
317
+ - lib/zm/support/cache/entry.rb
318
+ - lib/zm/support/cache/file_store.rb
319
+ - lib/zm/support/cache/null_store.rb
320
+ - lib/zm/support/cache/request_strategy.rb
321
+ - lib/zm/support/cache/store.rb
322
+ - lib/zm/support/cache/strategy.rb
323
323
  - lib/zm/utils/thread_pool.rb
324
324
  - zm-ruby-client.gemspec
325
325
  homepage: https://github.com/RaoH37/zm-ruby-client
326
326
  licenses:
327
327
  - GPL-3.0-only
328
- metadata: {}
328
+ metadata:
329
+ rubygems_mfa_required: 'true'
329
330
  post_install_message:
330
331
  rdoc_options: []
331
332
  require_paths:
@@ -334,14 +335,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
334
335
  requirements:
335
336
  - - ">="
336
337
  - !ruby/object:Gem::Version
337
- version: '2.7'
338
+ version: '3.2'
338
339
  required_rubygems_version: !ruby/object:Gem::Requirement
339
340
  requirements:
340
341
  - - ">="
341
342
  - !ruby/object:Gem::Version
342
343
  version: 1.8.11
343
344
  requirements: []
344
- rubygems_version: 3.5.22
345
+ rubygems_version: 3.4.19
345
346
  signing_key:
346
347
  specification_version: 4
347
348
  summary: zm-ruby-client
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Zm
4
- module Client
5
- class TokenMetaDataError < StandardError; end
6
-
7
- class TokenMetaData
8
- def initialize(token)
9
- raise TokenMetaDataError, 'no such token' unless token.is_a?(String)
10
-
11
- parts = token.split('_')
12
- raise TokenMetaDataError, 'invalid token' unless parts.length == 3
13
-
14
- @key_id = parts[0]
15
- @hmac = parts[1]
16
- @encoded = parts[2]
17
- end
18
-
19
- def decoded
20
- @decoded ||= [@encoded].pack('H*')
21
- end
22
-
23
- def metadatas
24
- @metadatas ||= Hash[decoded.split(/;/).map { |part| part.split(/=\d+:/) }].freeze
25
- end
26
-
27
- def zimbra_id
28
- @zimbra_id ||= metadatas['id']
29
- end
30
-
31
- def is_admin?
32
- @is_admin ||= metadatas['admin'] == '1'
33
- end
34
-
35
- def server_version
36
- metadatas['version']
37
- end
38
-
39
- def expire_at
40
- @expire_at ||= Time.at(metadatas['exp'].to_f / 1000).freeze
41
- end
42
- end
43
- end
44
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module ZmLogger
4
- attr_accessor :logger, :logger_file_path, :logger_level
5
-
6
- def logger
7
- @logger ||= init_logger
8
- end
9
-
10
- def logger_file_path
11
- @logger_file_path ||= $stdout
12
- end
13
-
14
- def logger_level
15
- @logger_level ||= Logger::ERROR
16
- end
17
-
18
- def init_logger
19
- logger = Logger.new(logger_file_path)
20
- logger.level = logger_level
21
- logger.formatter = proc do |severity, datetime, prog_name, msg|
22
- "#{datetime.strftime('%Y-%m-%d %H:%M:%S')} #{severity} #{prog_name} - #{msg}\n"
23
- end
24
- logger
25
- end
26
- end