zm-ruby-client 0.18.5 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/Gemfile +2 -2
- data/README.md +7 -0
- data/lib/zm/client/account/account.rb +31 -308
- data/lib/zm/client/account/account_aliases_collection.rb +52 -0
- data/lib/zm/client/account/account_dls_membership_collection.rb +4 -1
- data/lib/zm/client/account/account_dls_owner_collection.rb +8 -1
- data/lib/zm/client/account/account_jsns_builder.rb +77 -0
- data/lib/zm/client/account/account_jsns_initializer.rb +9 -24
- data/lib/zm/client/account/accounts_builder.rb +0 -1
- data/lib/zm/client/account/accounts_collection.rb +32 -8
- data/lib/zm/client/account.rb +1 -0
- data/lib/zm/client/ace/ace.rb +6 -22
- data/lib/zm/client/ace/ace_jsns_builder.rb +15 -16
- data/lib/zm/client/ace/ace_jsns_initializer.rb +0 -1
- data/lib/zm/client/ace/aces_builder.rb +0 -1
- data/lib/zm/client/ace/aces_collection.rb +2 -18
- data/lib/zm/client/appointment/appointment.rb +38 -30
- data/lib/zm/client/appointment/appointment_jsns_builder.rb +22 -34
- data/lib/zm/client/appointment/appointment_jsns_initializer.rb +6 -3
- data/lib/zm/client/appointment/appointments_builder.rb +6 -18
- data/lib/zm/client/appointment/appointments_collection.rb +25 -4
- data/lib/zm/client/backup/backup.rb +4 -32
- data/lib/zm/client/backup/backup_jsns_initializer.rb +26 -0
- data/lib/zm/client/backup/backups_builder.rb +8 -13
- data/lib/zm/client/backup/backups_collection.rb +2 -1
- data/lib/zm/client/backup.rb +1 -0
- data/lib/zm/client/base/account_search_objects_collection.rb +34 -13
- data/lib/zm/client/base/admin_objects_collection.rb +82 -17
- data/lib/zm/client/base/base_account_jsns_builder.rb +98 -0
- data/lib/zm/client/base/base_jsns_builder.rb +47 -0
- data/lib/zm/client/base/base_jsns_initializer.rb +43 -12
- data/lib/zm/client/base/ldap_filter.rb +20 -5
- data/lib/zm/client/base/mailbox_infos_collection.rb +68 -0
- data/lib/zm/client/base/mailbox_object.rb +299 -0
- data/lib/zm/client/base/mailbox_prefs_collection.rb +75 -0
- data/lib/zm/client/base/object.rb +28 -62
- data/lib/zm/client/base/objects_builder.rb +4 -10
- data/lib/zm/client/base/objects_collection.rb +13 -10
- data/lib/zm/client/base/zimbra_attribute.rb +10 -8
- data/lib/zm/client/base/zimbra_attributes_collection.rb +154 -10
- data/lib/zm/client/base.rb +5 -5
- data/lib/zm/client/cluster/cluster.rb +43 -39
- data/lib/zm/client/cluster/cluster_config.rb +5 -5
- data/lib/zm/client/common/recipients.rb +3 -3
- data/lib/zm/client/common/token_metadata.rb +4 -1
- data/lib/zm/client/common/utils.rb +57 -0
- data/lib/zm/client/common.rb +2 -1
- data/lib/zm/client/connector/rest_account.rb +15 -28
- data/lib/zm/client/connector/soap_account.rb +38 -441
- data/lib/zm/client/connector/soap_admin.rb +16 -552
- data/lib/zm/client/connector/soap_base.rb +30 -21
- data/lib/zm/client/connector/soap_error.rb +1 -3
- data/lib/zm/client/constant.rb +21 -11
- data/lib/zm/client/contact/contact.rb +42 -83
- data/lib/zm/client/contact/contact_jsns_builder.rb +60 -0
- data/lib/zm/client/contact/contact_jsns_initializer.rb +78 -0
- data/lib/zm/client/contact/contact_member.rb +29 -28
- data/lib/zm/client/contact/contact_members_collection.rb +44 -0
- data/lib/zm/client/contact/contacts_builder.rb +8 -1
- data/lib/zm/client/contact/contacts_collection.rb +17 -1
- data/lib/zm/client/contact/group_contact_jsns_builder.rb +51 -0
- data/lib/zm/client/contact/mod_group_contact.rb +4 -67
- data/lib/zm/client/contact.rb +5 -1
- data/lib/zm/client/cos/cos.rb +35 -40
- data/lib/zm/client/cos/cos_accounts_collection.rb +19 -0
- data/lib/zm/client/cos/cos_domains_collection.rb +20 -0
- data/lib/zm/client/cos/cos_jsns_builder.rb +72 -0
- data/lib/zm/client/cos/cos_jsns_initializer.rb +29 -0
- data/lib/zm/client/cos/cos_servers_collection.rb +60 -0
- data/lib/zm/client/cos/coses_builder.rb +8 -1
- data/lib/zm/client/cos/coses_collection.rb +8 -5
- data/lib/zm/client/cos.rb +5 -0
- data/lib/zm/client/datasource/datasource.rb +69 -0
- data/lib/zm/client/datasource/datasource_jsns_builder.rb +32 -0
- data/lib/zm/client/datasource/datasource_jsns_initializer.rb +27 -0
- data/lib/zm/client/datasource/datasources_builder.rb +29 -0
- data/lib/zm/client/datasource/datasources_collection.rb +21 -0
- data/lib/zm/client/datasource.rb +7 -0
- data/lib/zm/client/distributionlist/distributionlist.rb +52 -118
- data/lib/zm/client/distributionlist/distributionlist_aces_collection.rb +31 -0
- data/lib/zm/client/distributionlist/distributionlist_aliases_collection.rb +53 -0
- data/lib/zm/client/distributionlist/distributionlist_jsns_builder.rb +82 -0
- data/lib/zm/client/distributionlist/distributionlist_jsns_initializer.rb +32 -0
- data/lib/zm/client/distributionlist/distributionlist_members_collection.rb +47 -0
- data/lib/zm/client/distributionlist/distributionlist_owners_collection.rb +52 -0
- data/lib/zm/client/distributionlist/distributionlists_builder.rb +8 -1
- data/lib/zm/client/distributionlist/distributionlists_collection.rb +8 -9
- data/lib/zm/client/distributionlist/dls_membership_collection.rb +4 -1
- data/lib/zm/client/distributionlist.rb +2 -0
- data/lib/zm/client/document/document.rb +27 -24
- data/lib/zm/client/document/document_jsns_builder.rb +18 -0
- data/lib/zm/client/document/document_jsns_initializer.rb +44 -0
- data/lib/zm/client/document/documents_builder.rb +6 -16
- data/lib/zm/client/document/documents_collection.rb +17 -67
- data/lib/zm/client/document.rb +2 -0
- data/lib/zm/client/domain/domain.rb +39 -55
- data/lib/zm/client/domain/domain_accounts_collection.rb +1 -1
- data/lib/zm/client/domain/domain_distributionlists_collection.rb +13 -0
- data/lib/zm/client/domain/domain_jsns_builder.rb +69 -0
- data/lib/zm/client/domain/domain_jsns_initializer.rb +25 -0
- data/lib/zm/client/domain/domain_resources_collection.rb +13 -0
- data/lib/zm/client/domain/domains_builder.rb +8 -1
- data/lib/zm/client/domain/domains_collection.rb +7 -7
- data/lib/zm/client/domain.rb +4 -0
- data/lib/zm/client/filter_rule.rb +7 -0
- data/lib/zm/client/filter_rules/filter_rule.rb +10 -0
- data/lib/zm/client/filter_rules/filter_rule_jsns_initializer.rb +24 -0
- data/lib/zm/client/filter_rules/filter_rules_builder.rb +21 -0
- data/lib/zm/client/filter_rules/filter_rules_collection.rb +21 -0
- data/lib/zm/client/filter_rules/outgoing_filter_rules_collection.rb +15 -0
- data/lib/zm/client/folder/folder.rb +77 -61
- data/lib/zm/client/folder/folder_grant.rb +34 -14
- data/lib/zm/client/folder/folder_grant_jsns_builder.rb +15 -4
- data/lib/zm/client/folder/folder_grants_collection.rb +36 -2
- data/lib/zm/client/folder/folder_jsns_builder.rb +22 -48
- data/lib/zm/client/folder/folder_jsns_initializer.rb +34 -17
- data/lib/zm/client/folder/folder_retention_policies_collection.rb +2 -3
- data/lib/zm/client/folder/folder_retention_policy.rb +0 -1
- data/lib/zm/client/folder/folders_builder.rb +7 -10
- data/lib/zm/client/folder/folders_collection.rb +5 -2
- data/lib/zm/client/folder/folders_jsns_builder.rb +3 -1
- data/lib/zm/client/folder/mod_document_folder.rb +10 -6
- data/lib/zm/client/folder.rb +1 -1
- data/lib/zm/client/identity/identities_builder.rb +8 -1
- data/lib/zm/client/identity/identities_collection.rb +2 -1
- data/lib/zm/client/identity/identity.rb +34 -42
- data/lib/zm/client/identity/identity_jsns_builder.rb +57 -0
- data/lib/zm/client/identity/identity_jsns_initializer.rb +29 -0
- data/lib/zm/client/identity.rb +3 -1
- data/lib/zm/client/license/license.rb +9 -22
- data/lib/zm/client/license/license_jsns_initializer.rb +20 -0
- data/lib/zm/client/license/licenses_collection.rb +3 -13
- data/lib/zm/client/license.rb +2 -1
- data/lib/zm/client/message/attachments_collection.rb +55 -0
- data/lib/zm/client/message/message.rb +36 -264
- data/lib/zm/client/message/message_flags.rb +107 -0
- data/lib/zm/client/message/message_jsns_builder.rb +85 -0
- data/lib/zm/client/message/message_jsns_initializer.rb +71 -0
- data/lib/zm/client/message/message_recipients.rb +59 -0
- data/lib/zm/client/message/messages_builder.rb +7 -18
- data/lib/zm/client/message/messages_collection.rb +17 -2
- data/lib/zm/client/message.rb +5 -0
- data/lib/zm/client/mountpoint/mountpoint.rb +43 -20
- data/lib/zm/client/mountpoint/mountpoint_jsns_builder.rb +8 -53
- data/lib/zm/client/mountpoint/mountpoint_jsns_initializer.rb +22 -13
- data/lib/zm/client/mountpoint/mountpoints_builder.rb +4 -5
- data/lib/zm/client/mountpoint/mountpoints_collection.rb +1 -2
- data/lib/zm/client/mta_queue/mta_queue.rb +13 -28
- data/lib/zm/client/mta_queue/mta_queue_jsns_builder.rb +41 -0
- data/lib/zm/client/mta_queue/mta_queue_jsns_initializer.rb +23 -0
- data/lib/zm/client/mta_queue/mta_queues_builder.rb +4 -8
- data/lib/zm/client/mta_queue/mta_queues_collection.rb +8 -27
- data/lib/zm/client/mta_queue.rb +2 -0
- data/lib/zm/client/mta_queue_item/mta_queue_item.rb +4 -31
- data/lib/zm/client/mta_queue_item/mta_queue_item_jsns_initializer.rb +33 -0
- data/lib/zm/client/mta_queue_item/mta_queue_items_builder.rb +4 -9
- data/lib/zm/client/mta_queue_item/mta_queue_items_collection.rb +7 -42
- data/lib/zm/client/mta_queue_item.rb +2 -1
- data/lib/zm/client/resource/resource.rb +24 -91
- data/lib/zm/client/resource/resource_jsns_builder.rb +79 -0
- data/lib/zm/client/resource/resource_jsns_initializer.rb +29 -0
- data/lib/zm/client/resource/resources_builder.rb +8 -1
- data/lib/zm/client/resource/resources_collection.rb +9 -7
- data/lib/zm/client/resource.rb +2 -0
- data/lib/zm/client/search_folder/search_folder.rb +38 -16
- data/lib/zm/client/search_folder/search_folder_jsns_builder.rb +38 -19
- data/lib/zm/client/search_folder/search_folder_jsns_initializer.rb +17 -13
- data/lib/zm/client/search_folder/search_folders_builder.rb +0 -1
- data/lib/zm/client/search_folder/search_folders_collection.rb +2 -1
- data/lib/zm/client/server/server.rb +16 -488
- data/lib/zm/client/server/server_jsns_initializer.rb +16 -0
- data/lib/zm/client/server/servers_builder.rb +8 -1
- data/lib/zm/client/server/servers_collection.rb +13 -5
- data/lib/zm/client/server.rb +1 -0
- data/lib/zm/client/share/share.rb +5 -43
- data/lib/zm/client/share/share_jsns_initializer.rb +32 -0
- data/lib/zm/client/share/share_mountpoints_collection.rb +38 -0
- data/lib/zm/client/share/shares_builder.rb +8 -1
- data/lib/zm/client/share/shares_collection.rb +11 -16
- data/lib/zm/client/share.rb +2 -0
- data/lib/zm/client/signature/signature.rb +25 -29
- data/lib/zm/client/signature/signature_jsns_builder.rb +31 -13
- data/lib/zm/client/signature/signature_jsns_initializer.rb +16 -12
- data/lib/zm/client/signature/signatures_builder.rb +1 -2
- data/lib/zm/client/signature/signatures_collection.rb +2 -1
- data/lib/zm/client/signature.rb +1 -1
- data/lib/zm/client/soap_request/account_soap_constants.rb +76 -0
- data/lib/zm/client/soap_request/admin_soap_constants.rb +214 -0
- data/lib/zm/client/soap_request/mail_soap_constants.rb +162 -0
- data/lib/zm/client/soap_request/soap_constants.rb +55 -0
- data/lib/zm/client/soap_request/soap_context.rb +38 -0
- data/lib/zm/client/soap_request/soap_element.rb +90 -0
- data/lib/zm/client/soap_request.rb +8 -0
- data/lib/zm/client/tag/account_object_tags_collection.rb +65 -0
- data/lib/zm/client/tag/tag.rb +34 -22
- data/lib/zm/client/tag/tag_jsns_builder.rb +14 -35
- data/lib/zm/client/tag/tag_jsns_initializer.rb +4 -6
- data/lib/zm/client/tag/tags_builder.rb +0 -1
- data/lib/zm/client/tag/tags_collection.rb +2 -1
- data/lib/zm/client/tag.rb +1 -0
- data/lib/zm/client/task/task.rb +18 -49
- data/lib/zm/client/task/task_jsns_initializer.rb +45 -0
- data/lib/zm/client/task/tasks_builder.rb +6 -16
- data/lib/zm/client/task/tasks_collection.rb +29 -0
- data/lib/zm/client/task.rb +1 -0
- data/lib/zm/client/upload/upload.rb +26 -30
- data/lib/zm/client/version.rb +3 -3
- data/lib/zm/client.rb +4 -1
- data/lib/zm/modules/base.rb +10 -0
- data/lib/zm/modules/belongs_to_folder.rb +37 -0
- data/lib/zm/modules/belongs_to_tag.rb +11 -0
- data/lib/zm/modules/common/zimbra-attrs.json +1 -1
- data/lib/zm/modules/has_soap_admin_connector.rb +12 -0
- data/lib/zm/modules/inspector.rb +24 -0
- data/lib/zm/modules/missing_method_static_collection.rb +13 -0
- data/lib/zm/modules/zm_logger.rb +3 -1
- data/lib/zm/modules/zm_model.rb +4 -2
- data/lib/zm/utils/thread_pool.rb +4 -2
- data/lib/zm-ruby-client.rb +2 -0
- data/zm-ruby-client.gemspec +12 -9
- metadata +93 -34
- data/lib/zm/client/base/account_object.rb +0 -51
- data/lib/zm/client/base/admin_object.rb +0 -51
- data/lib/zm/client/base/folder_object.rb +0 -41
- data/lib/zm/client/config.rb +0 -12
- data/lib/zm/client/data_source.rb +0 -5
- data/lib/zm/modules/common/account_common.rb +0 -71
- data/lib/zm/modules/common/cos_common.rb +0 -463
- data/lib/zm/modules/common/dl_common.rb +0 -38
- data/lib/zm/modules/common/identity_common.rb +0 -19
- data/lib/zm/modules/common/resource_common.rb +0 -59
- data/lib/zm/modules/common/signature_common.rb +0 -16
- data/lib/zm/modules/common/zimbra-attrs.json.bak +0 -1
- data/test/accounts.rb +0 -89
- data/test/ace.rb +0 -50
- data/test/cluster.rb +0 -41
- data/test/cluster_config.rb +0 -30
- data/test/cluster_zimbra_attributes.rb +0 -38
- data/test/coses.rb +0 -26
- data/test/domains.rb +0 -70
- data/test/folder.rb +0 -125
- data/test/folder_grant.rb +0 -51
- data/test/mountpoint.rb +0 -49
- data/test/retention_policies.rb +0 -40
- data/test/search_folder.rb +0 -67
- data/test/signature.rb +0 -53
- data/test/tag.rb +0 -65
- data/test/zimbra_attributes.rb +0 -35
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Zm
|
4
|
+
module Inspector
|
5
|
+
def to_s
|
6
|
+
inspect
|
7
|
+
end
|
8
|
+
|
9
|
+
def to_h
|
10
|
+
Hash[instance_variables_map]
|
11
|
+
end
|
12
|
+
|
13
|
+
def inspect
|
14
|
+
keys_str = to_h.map { |k, v| "#{k}: #{v}" }.join(', ')
|
15
|
+
"#{self.class}:#{format('0x00%x', (object_id << 1))} #{keys_str}"
|
16
|
+
end
|
17
|
+
|
18
|
+
def instance_variables_map
|
19
|
+
keys = instance_variables.dup
|
20
|
+
keys.delete(:@parent)
|
21
|
+
keys.map { |key| [key, instance_variable_get(key)] }
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/zm/modules/zm_logger.rb
CHANGED
data/lib/zm/modules/zm_model.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Zm
|
2
4
|
module Model
|
3
5
|
module AttributeChangeObserver
|
@@ -17,11 +19,11 @@ module Zm
|
|
17
19
|
def #{attr_name}_changed
|
18
20
|
@#{attr_name}_changed ||= false
|
19
21
|
end
|
20
|
-
|
22
|
+
|
21
23
|
def #{attr_name}_changed?
|
22
24
|
#{attr_name}_changed
|
23
25
|
end
|
24
|
-
|
26
|
+
|
25
27
|
def #{attr_name}=(value)
|
26
28
|
return @#{attr_name} if value == @#{attr_name}
|
27
29
|
@#{attr_name}_changed = true
|
data/lib/zm/utils/thread_pool.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Zm
|
2
4
|
module Utils
|
3
5
|
class ThreadPool
|
@@ -20,7 +22,7 @@ module Zm
|
|
20
22
|
@finish = true
|
21
23
|
@result = result
|
22
24
|
@number = number
|
23
|
-
@jobs = [[
|
25
|
+
@jobs = [[proc {}, nil]]
|
24
26
|
end
|
25
27
|
|
26
28
|
def jobs_size
|
@@ -61,7 +63,7 @@ module Zm
|
|
61
63
|
loop do
|
62
64
|
job, args = @jobs.pop
|
63
65
|
job.call(*args)
|
64
|
-
break if @jobs.
|
66
|
+
break if @jobs.empty?
|
65
67
|
end
|
66
68
|
end
|
67
69
|
end
|
data/lib/zm-ruby-client.rb
CHANGED
data/zm-ruby-client.gemspec
CHANGED
@@ -1,29 +1,32 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
|
3
|
-
lib
|
4
|
-
$LOAD_PATH.unshift lib unless $LOAD_PATH.include?(lib)
|
2
|
+
lib = File.expand_path('../lib/', __FILE__)
|
3
|
+
$:.unshift lib unless $:.include?(lib)
|
5
4
|
|
6
5
|
require './lib/zm-ruby-client'
|
7
6
|
|
8
7
|
Gem::Specification.new do |s|
|
9
|
-
s.platform
|
8
|
+
s.platform = Gem::Platform::RUBY
|
10
9
|
s.name = 'zm-ruby-client'
|
11
|
-
s.version = Zm::Client
|
10
|
+
s.version = Zm::Client::gem_version.to_s
|
12
11
|
s.date = `date '+%Y-%m-%d'`
|
13
12
|
s.summary = 'zm-ruby-client'
|
14
13
|
s.description = 'Zimbra Soap Librairy using SOAP Json interface'
|
15
14
|
|
16
|
-
s.required_ruby_version =
|
15
|
+
s.required_ruby_version = ">= 2.7"
|
16
|
+
s.required_rubygems_version = ">= 1.8.11"
|
17
|
+
|
17
18
|
s.license = 'GPL-3.0'
|
18
19
|
|
19
20
|
s.authors = ['Maxime Désécot']
|
20
21
|
s.email = 'maxime.desecot@gmail.com'
|
21
22
|
s.homepage = 'https://github.com/RaoH37/zm-ruby-client'
|
22
23
|
|
23
|
-
s.files = `git ls-files`.split("\n")
|
24
|
+
s.files = `git ls-files`.split("\n").reject { |path| path.start_with?('test/', 'examples/') }
|
24
25
|
s.require_paths = ['lib']
|
25
26
|
|
26
27
|
s.add_dependency('addressable', ['~> 2.8'])
|
27
28
|
s.add_dependency('curb', ['~> 1.0'])
|
28
|
-
s.add_dependency('version_sorter', ['~> 2.3
|
29
|
-
|
29
|
+
s.add_dependency('version_sorter', ['~> 2.3'])
|
30
|
+
|
31
|
+
s.add_dependency "bundler", ">= 1.15.0"
|
32
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zm-ruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 2.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:
|
11
|
+
date: 2023-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -44,14 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.3
|
47
|
+
version: '2.3'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.3
|
54
|
+
version: '2.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: bundler
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 1.15.0
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 1.15.0
|
55
69
|
description: Zimbra Soap Librairy using SOAP Json interface
|
56
70
|
email: maxime.desecot@gmail.com
|
57
71
|
executables: []
|
@@ -67,8 +81,10 @@ files:
|
|
67
81
|
- lib/zm/client.rb
|
68
82
|
- lib/zm/client/account.rb
|
69
83
|
- lib/zm/client/account/account.rb
|
84
|
+
- lib/zm/client/account/account_aliases_collection.rb
|
70
85
|
- lib/zm/client/account/account_dls_membership_collection.rb
|
71
86
|
- lib/zm/client/account/account_dls_owner_collection.rb
|
87
|
+
- lib/zm/client/account/account_jsns_builder.rb
|
72
88
|
- lib/zm/client/account/account_jsns_initializer.rb
|
73
89
|
- lib/zm/client/account/accounts_builder.rb
|
74
90
|
- lib/zm/client/account/accounts_collection.rb
|
@@ -86,18 +102,20 @@ files:
|
|
86
102
|
- lib/zm/client/appointment/appointments_collection.rb
|
87
103
|
- lib/zm/client/backup.rb
|
88
104
|
- lib/zm/client/backup/backup.rb
|
105
|
+
- lib/zm/client/backup/backup_jsns_initializer.rb
|
89
106
|
- lib/zm/client/backup/backups_builder.rb
|
90
107
|
- lib/zm/client/backup/backups_collection.rb
|
91
108
|
- lib/zm/client/base.rb
|
92
|
-
- lib/zm/client/base/account_object.rb
|
93
109
|
- lib/zm/client/base/account_objects_collection.rb
|
94
110
|
- lib/zm/client/base/account_search_objects_collection.rb
|
95
|
-
- lib/zm/client/base/admin_object.rb
|
96
111
|
- lib/zm/client/base/admin_objects_collection.rb
|
112
|
+
- lib/zm/client/base/base_account_jsns_builder.rb
|
97
113
|
- lib/zm/client/base/base_jsns_builder.rb
|
98
114
|
- lib/zm/client/base/base_jsns_initializer.rb
|
99
|
-
- lib/zm/client/base/folder_object.rb
|
100
115
|
- lib/zm/client/base/ldap_filter.rb
|
116
|
+
- lib/zm/client/base/mailbox_infos_collection.rb
|
117
|
+
- lib/zm/client/base/mailbox_object.rb
|
118
|
+
- lib/zm/client/base/mailbox_prefs_collection.rb
|
101
119
|
- lib/zm/client/base/object.rb
|
102
120
|
- lib/zm/client/base/objects_builder.rb
|
103
121
|
- lib/zm/client/base/objects_collection.rb
|
@@ -110,7 +128,7 @@ files:
|
|
110
128
|
- lib/zm/client/common/message.rb
|
111
129
|
- lib/zm/client/common/recipients.rb
|
112
130
|
- lib/zm/client/common/token_metadata.rb
|
113
|
-
- lib/zm/client/
|
131
|
+
- lib/zm/client/common/utils.rb
|
114
132
|
- lib/zm/client/connector/rest_account.rb
|
115
133
|
- lib/zm/client/connector/soap_account.rb
|
116
134
|
- lib/zm/client/connector/soap_admin.rb
|
@@ -119,29 +137,61 @@ files:
|
|
119
137
|
- lib/zm/client/constant.rb
|
120
138
|
- lib/zm/client/contact.rb
|
121
139
|
- lib/zm/client/contact/contact.rb
|
140
|
+
- lib/zm/client/contact/contact_jsns_builder.rb
|
141
|
+
- lib/zm/client/contact/contact_jsns_initializer.rb
|
122
142
|
- lib/zm/client/contact/contact_member.rb
|
143
|
+
- lib/zm/client/contact/contact_members_collection.rb
|
123
144
|
- lib/zm/client/contact/contacts_builder.rb
|
124
145
|
- lib/zm/client/contact/contacts_collection.rb
|
146
|
+
- lib/zm/client/contact/group_contact_jsns_builder.rb
|
125
147
|
- lib/zm/client/contact/mod_group_contact.rb
|
126
148
|
- lib/zm/client/cos.rb
|
127
149
|
- lib/zm/client/cos/cos.rb
|
150
|
+
- lib/zm/client/cos/cos_accounts_collection.rb
|
151
|
+
- lib/zm/client/cos/cos_domains_collection.rb
|
152
|
+
- lib/zm/client/cos/cos_jsns_builder.rb
|
153
|
+
- lib/zm/client/cos/cos_jsns_initializer.rb
|
154
|
+
- lib/zm/client/cos/cos_servers_collection.rb
|
128
155
|
- lib/zm/client/cos/coses_builder.rb
|
129
156
|
- lib/zm/client/cos/coses_collection.rb
|
130
|
-
- lib/zm/client/
|
157
|
+
- lib/zm/client/datasource.rb
|
158
|
+
- lib/zm/client/datasource/datasource.rb
|
159
|
+
- lib/zm/client/datasource/datasource_jsns_builder.rb
|
160
|
+
- lib/zm/client/datasource/datasource_jsns_initializer.rb
|
161
|
+
- lib/zm/client/datasource/datasources_builder.rb
|
162
|
+
- lib/zm/client/datasource/datasources_collection.rb
|
131
163
|
- lib/zm/client/distributionlist.rb
|
132
164
|
- lib/zm/client/distributionlist/distributionlist.rb
|
165
|
+
- lib/zm/client/distributionlist/distributionlist_aces_collection.rb
|
166
|
+
- lib/zm/client/distributionlist/distributionlist_aliases_collection.rb
|
167
|
+
- lib/zm/client/distributionlist/distributionlist_jsns_builder.rb
|
168
|
+
- lib/zm/client/distributionlist/distributionlist_jsns_initializer.rb
|
169
|
+
- lib/zm/client/distributionlist/distributionlist_members_collection.rb
|
170
|
+
- lib/zm/client/distributionlist/distributionlist_owners_collection.rb
|
133
171
|
- lib/zm/client/distributionlist/distributionlists_builder.rb
|
134
172
|
- lib/zm/client/distributionlist/distributionlists_collection.rb
|
135
173
|
- lib/zm/client/distributionlist/dls_membership_collection.rb
|
136
174
|
- lib/zm/client/document.rb
|
137
175
|
- lib/zm/client/document/document.rb
|
176
|
+
- lib/zm/client/document/document_jsns_builder.rb
|
177
|
+
- lib/zm/client/document/document_jsns_initializer.rb
|
138
178
|
- lib/zm/client/document/documents_builder.rb
|
139
179
|
- lib/zm/client/document/documents_collection.rb
|
140
180
|
- lib/zm/client/domain.rb
|
141
181
|
- lib/zm/client/domain/domain.rb
|
142
182
|
- lib/zm/client/domain/domain_accounts_collection.rb
|
183
|
+
- lib/zm/client/domain/domain_distributionlists_collection.rb
|
184
|
+
- lib/zm/client/domain/domain_jsns_builder.rb
|
185
|
+
- lib/zm/client/domain/domain_jsns_initializer.rb
|
186
|
+
- lib/zm/client/domain/domain_resources_collection.rb
|
143
187
|
- lib/zm/client/domain/domains_builder.rb
|
144
188
|
- lib/zm/client/domain/domains_collection.rb
|
189
|
+
- lib/zm/client/filter_rule.rb
|
190
|
+
- lib/zm/client/filter_rules/filter_rule.rb
|
191
|
+
- lib/zm/client/filter_rules/filter_rule_jsns_initializer.rb
|
192
|
+
- lib/zm/client/filter_rules/filter_rules_builder.rb
|
193
|
+
- lib/zm/client/filter_rules/filter_rules_collection.rb
|
194
|
+
- lib/zm/client/filter_rules/outgoing_filter_rules_collection.rb
|
145
195
|
- lib/zm/client/folder.rb
|
146
196
|
- lib/zm/client/folder/folder.rb
|
147
197
|
- lib/zm/client/folder/folder_grant.rb
|
@@ -159,11 +209,19 @@ files:
|
|
159
209
|
- lib/zm/client/identity/identities_builder.rb
|
160
210
|
- lib/zm/client/identity/identities_collection.rb
|
161
211
|
- lib/zm/client/identity/identity.rb
|
212
|
+
- lib/zm/client/identity/identity_jsns_builder.rb
|
213
|
+
- lib/zm/client/identity/identity_jsns_initializer.rb
|
162
214
|
- lib/zm/client/license.rb
|
163
215
|
- lib/zm/client/license/license.rb
|
216
|
+
- lib/zm/client/license/license_jsns_initializer.rb
|
164
217
|
- lib/zm/client/license/licenses_collection.rb
|
165
218
|
- lib/zm/client/message.rb
|
219
|
+
- lib/zm/client/message/attachments_collection.rb
|
166
220
|
- lib/zm/client/message/message.rb
|
221
|
+
- lib/zm/client/message/message_flags.rb
|
222
|
+
- lib/zm/client/message/message_jsns_builder.rb
|
223
|
+
- lib/zm/client/message/message_jsns_initializer.rb
|
224
|
+
- lib/zm/client/message/message_recipients.rb
|
167
225
|
- lib/zm/client/message/messages_builder.rb
|
168
226
|
- lib/zm/client/message/messages_collection.rb
|
169
227
|
- lib/zm/client/mountpoint.rb
|
@@ -174,14 +232,19 @@ files:
|
|
174
232
|
- lib/zm/client/mountpoint/mountpoints_collection.rb
|
175
233
|
- lib/zm/client/mta_queue.rb
|
176
234
|
- lib/zm/client/mta_queue/mta_queue.rb
|
235
|
+
- lib/zm/client/mta_queue/mta_queue_jsns_builder.rb
|
236
|
+
- lib/zm/client/mta_queue/mta_queue_jsns_initializer.rb
|
177
237
|
- lib/zm/client/mta_queue/mta_queues_builder.rb
|
178
238
|
- lib/zm/client/mta_queue/mta_queues_collection.rb
|
179
239
|
- lib/zm/client/mta_queue_item.rb
|
180
240
|
- lib/zm/client/mta_queue_item/mta_queue_item.rb
|
241
|
+
- lib/zm/client/mta_queue_item/mta_queue_item_jsns_initializer.rb
|
181
242
|
- lib/zm/client/mta_queue_item/mta_queue_items_builder.rb
|
182
243
|
- lib/zm/client/mta_queue_item/mta_queue_items_collection.rb
|
183
244
|
- lib/zm/client/resource.rb
|
184
245
|
- lib/zm/client/resource/resource.rb
|
246
|
+
- lib/zm/client/resource/resource_jsns_builder.rb
|
247
|
+
- lib/zm/client/resource/resource_jsns_initializer.rb
|
185
248
|
- lib/zm/client/resource/resources_builder.rb
|
186
249
|
- lib/zm/client/resource/resources_collection.rb
|
187
250
|
- lib/zm/client/search_folder.rb
|
@@ -193,10 +256,13 @@ files:
|
|
193
256
|
- lib/zm/client/server.rb
|
194
257
|
- lib/zm/client/server/server.rb
|
195
258
|
- lib/zm/client/server/server_accounts_collection.rb
|
259
|
+
- lib/zm/client/server/server_jsns_initializer.rb
|
196
260
|
- lib/zm/client/server/servers_builder.rb
|
197
261
|
- lib/zm/client/server/servers_collection.rb
|
198
262
|
- lib/zm/client/share.rb
|
199
263
|
- lib/zm/client/share/share.rb
|
264
|
+
- lib/zm/client/share/share_jsns_initializer.rb
|
265
|
+
- lib/zm/client/share/share_mountpoints_collection.rb
|
200
266
|
- lib/zm/client/share/shares_builder.rb
|
201
267
|
- lib/zm/client/share/shares_collection.rb
|
202
268
|
- lib/zm/client/signature.rb
|
@@ -205,7 +271,15 @@ files:
|
|
205
271
|
- lib/zm/client/signature/signature_jsns_initializer.rb
|
206
272
|
- lib/zm/client/signature/signatures_builder.rb
|
207
273
|
- lib/zm/client/signature/signatures_collection.rb
|
274
|
+
- lib/zm/client/soap_request.rb
|
275
|
+
- lib/zm/client/soap_request/account_soap_constants.rb
|
276
|
+
- lib/zm/client/soap_request/admin_soap_constants.rb
|
277
|
+
- lib/zm/client/soap_request/mail_soap_constants.rb
|
278
|
+
- lib/zm/client/soap_request/soap_constants.rb
|
279
|
+
- lib/zm/client/soap_request/soap_context.rb
|
280
|
+
- lib/zm/client/soap_request/soap_element.rb
|
208
281
|
- lib/zm/client/tag.rb
|
282
|
+
- lib/zm/client/tag/account_object_tags_collection.rb
|
209
283
|
- lib/zm/client/tag/tag.rb
|
210
284
|
- lib/zm/client/tag/tag_jsns_builder.rb
|
211
285
|
- lib/zm/client/tag/tag_jsns_initializer.rb
|
@@ -213,37 +287,22 @@ files:
|
|
213
287
|
- lib/zm/client/tag/tags_collection.rb
|
214
288
|
- lib/zm/client/task.rb
|
215
289
|
- lib/zm/client/task/task.rb
|
290
|
+
- lib/zm/client/task/task_jsns_initializer.rb
|
216
291
|
- lib/zm/client/task/tasks_builder.rb
|
217
292
|
- lib/zm/client/task/tasks_collection.rb
|
218
293
|
- lib/zm/client/upload.rb
|
219
294
|
- lib/zm/client/upload/upload.rb
|
220
295
|
- lib/zm/client/version.rb
|
221
|
-
- lib/zm/modules/
|
222
|
-
- lib/zm/modules/
|
223
|
-
- lib/zm/modules/
|
224
|
-
- lib/zm/modules/common/identity_common.rb
|
225
|
-
- lib/zm/modules/common/resource_common.rb
|
226
|
-
- lib/zm/modules/common/signature_common.rb
|
296
|
+
- lib/zm/modules/base.rb
|
297
|
+
- lib/zm/modules/belongs_to_folder.rb
|
298
|
+
- lib/zm/modules/belongs_to_tag.rb
|
227
299
|
- lib/zm/modules/common/zimbra-attrs.json
|
228
|
-
- lib/zm/modules/
|
300
|
+
- lib/zm/modules/has_soap_admin_connector.rb
|
301
|
+
- lib/zm/modules/inspector.rb
|
302
|
+
- lib/zm/modules/missing_method_static_collection.rb
|
229
303
|
- lib/zm/modules/zm_logger.rb
|
230
304
|
- lib/zm/modules/zm_model.rb
|
231
305
|
- lib/zm/utils/thread_pool.rb
|
232
|
-
- test/accounts.rb
|
233
|
-
- test/ace.rb
|
234
|
-
- test/cluster.rb
|
235
|
-
- test/cluster_config.rb
|
236
|
-
- test/cluster_zimbra_attributes.rb
|
237
|
-
- test/coses.rb
|
238
|
-
- test/domains.rb
|
239
|
-
- test/folder.rb
|
240
|
-
- test/folder_grant.rb
|
241
|
-
- test/mountpoint.rb
|
242
|
-
- test/retention_policies.rb
|
243
|
-
- test/search_folder.rb
|
244
|
-
- test/signature.rb
|
245
|
-
- test/tag.rb
|
246
|
-
- test/zimbra_attributes.rb
|
247
306
|
- zm-ruby-client.gemspec
|
248
307
|
homepage: https://github.com/RaoH37/zm-ruby-client
|
249
308
|
licenses:
|
@@ -257,14 +316,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
257
316
|
requirements:
|
258
317
|
- - ">="
|
259
318
|
- !ruby/object:Gem::Version
|
260
|
-
version: '2.
|
319
|
+
version: '2.7'
|
261
320
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
262
321
|
requirements:
|
263
322
|
- - ">="
|
264
323
|
- !ruby/object:Gem::Version
|
265
|
-
version:
|
324
|
+
version: 1.8.11
|
266
325
|
requirements: []
|
267
|
-
rubygems_version: 3.
|
326
|
+
rubygems_version: 3.1.6
|
268
327
|
signing_key:
|
269
328
|
specification_version: 4
|
270
329
|
summary: zm-ruby-client
|
@@ -1,51 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Zm
|
4
|
-
module Client
|
5
|
-
module Base
|
6
|
-
# Abstract Class Provisionning AccountObject
|
7
|
-
class AccountObject < Object
|
8
|
-
|
9
|
-
def soap_account_connector
|
10
|
-
@parent.soap_account_connector
|
11
|
-
end
|
12
|
-
|
13
|
-
alias sacc soap_account_connector
|
14
|
-
|
15
|
-
def concat
|
16
|
-
all_instance_variable_keys.map { |key| instance_variable_get(arrow_name(key)) }
|
17
|
-
end
|
18
|
-
|
19
|
-
def init_from_json(json)
|
20
|
-
all_instance_variable_keys.each do |key|
|
21
|
-
next if json[key].nil?
|
22
|
-
instance_variable_set(arrow_name(key), json[key])
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
def to_h
|
27
|
-
hashmap = Hash[all_instance_variable_keys.map { |key| [key, instance_variable_get(arrow_name(key))] }]
|
28
|
-
hashmap.delete_if { |_, v| v.nil? }
|
29
|
-
hashmap
|
30
|
-
end
|
31
|
-
|
32
|
-
def create!
|
33
|
-
@id
|
34
|
-
end
|
35
|
-
|
36
|
-
def modify!
|
37
|
-
rename!
|
38
|
-
true
|
39
|
-
end
|
40
|
-
|
41
|
-
def rename!
|
42
|
-
true
|
43
|
-
end
|
44
|
-
|
45
|
-
def delete!
|
46
|
-
remove_instance_variable(:@id)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
@@ -1,51 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'time'
|
4
|
-
|
5
|
-
module Zm
|
6
|
-
module Client
|
7
|
-
module Base
|
8
|
-
# Abstract Class Provisionning AdminObject
|
9
|
-
class AdminObject < Object
|
10
|
-
|
11
|
-
def soap_admin_connector
|
12
|
-
@parent.soap_admin_connector
|
13
|
-
end
|
14
|
-
|
15
|
-
alias sac soap_admin_connector
|
16
|
-
|
17
|
-
def soap_account_connector
|
18
|
-
@parent.soap_account_connector
|
19
|
-
end
|
20
|
-
|
21
|
-
alias sacc soap_account_connector
|
22
|
-
|
23
|
-
def to_h
|
24
|
-
hashmap = Hash[all_instance_variable_keys.map { |key| [key, instance_variable_get(arrow_name(key))] }]
|
25
|
-
hashmap.delete_if { |_, v| v.nil? }
|
26
|
-
hashmap
|
27
|
-
end
|
28
|
-
|
29
|
-
def init_from_json(json)
|
30
|
-
# TODO : know in advance the typing of variables
|
31
|
-
super(json)
|
32
|
-
return unless json[:a].is_a? Array
|
33
|
-
|
34
|
-
# fix car le tableau peut contenir des {} vide !
|
35
|
-
json[:a].reject! { |n| n[:n].nil? }
|
36
|
-
json_map = json[:a].map { |n| ["@#{n[:n]}", n[:_content]] }.freeze
|
37
|
-
|
38
|
-
json_hash = json_map.reduce({}) { |h, (k, v)| (h[k] ||= []); h[k].push(v); h }.inject({}) { |h, (k, v)| v.length == 1 ? h[k] = v.first : h[k] = v; h }
|
39
|
-
|
40
|
-
json_hash.each do |k, v|
|
41
|
-
instance_variable_set(k, convert_json_string_value(v))
|
42
|
-
end
|
43
|
-
|
44
|
-
# Hash[json_map].each do |k, v|
|
45
|
-
# instance_variable_set(k, convert_json_string_value(v))
|
46
|
-
# end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Zm
|
4
|
-
module Client
|
5
|
-
module Base
|
6
|
-
# Abstract Class FolderObject
|
7
|
-
class FolderObject < AccountObject
|
8
|
-
|
9
|
-
def initialize(parent)
|
10
|
-
@l = FolderDefault::ROOT[:id]
|
11
|
-
super(parent)
|
12
|
-
end
|
13
|
-
|
14
|
-
def color!
|
15
|
-
@parent.sacc.folder_action(@parent.token, jsns_builder.to_color) if color_changed? || rgb_changed?
|
16
|
-
true
|
17
|
-
end
|
18
|
-
|
19
|
-
def delete!
|
20
|
-
@parent.sacc.folder_action(@parent.token, jsns_builder.to_delete)
|
21
|
-
super
|
22
|
-
end
|
23
|
-
|
24
|
-
def modify!
|
25
|
-
@parent.sacc.folder_action(@parent.token, jsns_builder.to_update)
|
26
|
-
true
|
27
|
-
end
|
28
|
-
|
29
|
-
def move!
|
30
|
-
@parent.sacc.folder_action(@parent.token, jsns_builder.to_move) if l_changed?
|
31
|
-
true
|
32
|
-
end
|
33
|
-
|
34
|
-
def rename!
|
35
|
-
@parent.sacc.folder_action(@parent.token, jsns_builder.to_rename) if name_changed?
|
36
|
-
super
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
data/lib/zm/client/config.rb
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
module AccountCommon
|
2
|
-
ALL_ATTRS = JSON.parse(File.read(File.expand_path(File.dirname(__FILE__) + '/zimbra-attrs.json')))
|
3
|
-
ATTRS_READ = ALL_ATTRS.select{|a|a['immutable']=='1'}.map{|a|a['name']}
|
4
|
-
ATTRS_WRITE = ALL_ATTRS.reject{|a|a['immutable']=='1'}.map{|a|a['name']}
|
5
|
-
|
6
|
-
ZM_ACCOUNT_ATTRS = %w[
|
7
|
-
sn
|
8
|
-
company
|
9
|
-
cn
|
10
|
-
co
|
11
|
-
street
|
12
|
-
l
|
13
|
-
givenName
|
14
|
-
postalAddress
|
15
|
-
postalCode
|
16
|
-
displayName
|
17
|
-
gidNumber
|
18
|
-
telephoneNumber
|
19
|
-
description
|
20
|
-
zimbraPrefGroupMailBy
|
21
|
-
zimbraPrefFromDisplay
|
22
|
-
zimbraPrefFromDisplay
|
23
|
-
zimbraPrefMailSignature
|
24
|
-
zimbraPrefMailSignatureHTML
|
25
|
-
zimbraPrefMailSignatureStyle
|
26
|
-
zimbraPrefDefaultSignatureId
|
27
|
-
zimbraPrefForwardReplySignatureId
|
28
|
-
zimbraPrefReplyToEnabled
|
29
|
-
zimbraPrefIdentityName
|
30
|
-
zimbraPrefFromAddress
|
31
|
-
zimbraPrefWhenInFoldersEnabled
|
32
|
-
zimbraPrefWhenSentToEnabled
|
33
|
-
zimbraPrefSortOrder
|
34
|
-
zimbraSignatureName
|
35
|
-
userPassword
|
36
|
-
zimbraPasswordMustChange
|
37
|
-
zimbraPrefOutOfOfficeFromDate
|
38
|
-
zimbraPrefOutOfOfficeReplyEnabled
|
39
|
-
zimbraPrefOutOfOfficeUntilDate
|
40
|
-
zimbraPrefOutOfOfficeReply
|
41
|
-
zimbraAccountStatus
|
42
|
-
zimbraMailStatus
|
43
|
-
zimbraPasswordMustChange
|
44
|
-
zimbraPrefSortOrder
|
45
|
-
zimbraMailSieveScript
|
46
|
-
zimbraPrefTasksReadingPaneLocation
|
47
|
-
zimbraPrefShowCalendarWeek
|
48
|
-
zimbraPrefForwardIncludeOriginalText
|
49
|
-
zimbraPrefReplyIncludeOriginalText
|
50
|
-
zimbraPrefHtmlEditorDefaultFontFamily
|
51
|
-
zimbraPrefZimletTreeOpen
|
52
|
-
zimbraPrefComposeFormat
|
53
|
-
zimbraPrefFolderTreeOpen
|
54
|
-
zimbraPrefCalendarFirstDayOfWeek
|
55
|
-
zimbraPrefCalendarForwardInvitesTo
|
56
|
-
zimbraPrefMailForwardingAddress
|
57
|
-
zimbraMailDeliveryAddress
|
58
|
-
zimbraCOSId
|
59
|
-
].freeze
|
60
|
-
|
61
|
-
ATTRS_READ.each { |attr| attr_reader attr }
|
62
|
-
ATTRS_WRITE.each { |attr| attr_accessor attr }
|
63
|
-
|
64
|
-
def attrs_read
|
65
|
-
ATTRS_READ
|
66
|
-
end
|
67
|
-
|
68
|
-
def attrs_write
|
69
|
-
ATTRS_WRITE
|
70
|
-
end
|
71
|
-
end
|