Class: Zm::Client::Base::ZimbraAttributesCollection

Inherits:
Object
  • Object
show all
Defined in:
lib/zm/client/base/zimbra_attributes_collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(parent) ⇒ ZimbraAttributesCollection

Returns a new instance of ZimbraAttributesCollection.



11
12
13
14
# File 'lib/zm/client/base/zimbra_attributes_collection.rb', line 11

def initialize(parent)
  @parent = parent
  @all = JSON.parse(File.read(File.expand_path(File.dirname(__FILE__) + '../../../modules/common/zimbra-attrs.json')), object_class: ZimbraAttribute).freeze
end

Instance Attribute Details

#allObject (readonly)

Returns the value of attribute all.



9
10
11
# File 'lib/zm/client/base/zimbra_attributes_collection.rb', line 9

def all
  @all
end

Instance Method Details

#all_account_attr_types_hObject



26
27
28
# File 'lib/zm/client/base/zimbra_attributes_collection.rb', line 26

def 
  @all_account_attr_types_h ||= Hash[.map { |attr| [attr.name, attr.type] }].freeze
end

#all_account_attrsObject



22
23
24
# File 'lib/zm/client/base/zimbra_attributes_collection.rb', line 22

def 
  @all_account_attrs ||= @all.select { |attr| attr. }.freeze
end

#all_account_attrs_version(version) ⇒ Object

retourne tous les attributs qui ont une version inférieure ou égale à la version données en paramètre



32
33
34
# File 'lib/zm/client/base/zimbra_attributes_collection.rb', line 32

def (version)
  .select { |attr| attr.version_start == version || VersionSorter.sort([version, attr.version_start]).first != version }
end

#set_methodsObject



16
17
18
19
20
# File 'lib/zm/client/base/zimbra_attributes_collection.rb', line 16

def set_methods
   = (@parent.version)
  Account.attr_reader *.select { |attr| attr.immutable }.map { |attr| attr.name.to_sym }
  Account.attr_accessor *.reject { |attr| attr.immutable }.map { |attr| attr.name.to_sym }
end