Class: Zm::Client::FolderJsnsInitializer
- Inherits:
-
Object
- Object
- Zm::Client::FolderJsnsInitializer
- Defined in:
- lib/zm/client/folder/folder_jsns_initializer.rb
Overview
class for initialize account folder
Class Method Summary collapse
Class Method Details
.arrow_name(name) ⇒ Object
41 42 43 44 45 |
# File 'lib/zm/client/folder/folder_jsns_initializer.rb', line 41 def arrow_name(name) return name if name.to_s.start_with?('@') "@#{name}" end |
.create(parent, json) ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/zm/client/folder/folder_jsns_initializer.rb', line 8 def create(parent, json) item = Folder.new(parent) item.instance_variable_set(:@id, json[:id]) item.instance_variable_set(:@name, json[:name]) update(item, json) end |
.update(item, json) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/zm/client/folder/folder_jsns_initializer.rb', line 17 def update(item, json) item.all_instance_variable_keys.reject { |key| json[key].nil? }.each do |key| item.instance_variable_set(arrow_name(key), json[key]) end if !json[:acl].nil? && json[:acl][:grant].is_a?(Array) json[:acl][:grant].each do |json| item.grants.create(json[:zid], json[:gt], json[:perm], json[:d]) end end if json[:retentionPolicy].is_a?(Array) json[:retentionPolicy].first.map do |policy, v| next if v.first[:policy].nil? type = v.first[:policy].first[:type] lifetime = v.first[:policy].first[:lifetime] item.retention_policies.create(policy, lifetime, type) end end item end |