Class: Inforouter::Folder

Inherits:
Record
  • Object
show all
Defined in:
lib/inforouter/folder.rb

Overview

A Folder defines an infoRouter folder.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ Folder

Returns a new instance of Folder.



31
32
33
34
# File 'lib/inforouter/folder.rb', line 31

def initialize(params = {})
  params = { property_sets: [] }.merge(params)
  super params
end

Instance Attribute Details

#access_listObject

Folder access list.



21
22
23
# File 'lib/inforouter/folder.rb', line 21

def access_list
  @access_list
end

#creation_dateObject

Folder creation date.



15
16
17
# File 'lib/inforouter/folder.rb', line 15

def creation_date
  @creation_date
end

#descriptionObject

Folder description.



13
14
15
# File 'lib/inforouter/folder.rb', line 13

def description
  @description
end

#documentsObject

Folder documents. Array of Inforouter::Documents.



29
30
31
# File 'lib/inforouter/folder.rb', line 29

def documents
  @documents
end

#domain_idObject

Folder domain ID.



19
20
21
# File 'lib/inforouter/folder.rb', line 19

def domain_id
  @domain_id
end

#foldersObject

Folder folders. Array of Inforouter::Folders.



27
28
29
# File 'lib/inforouter/folder.rb', line 27

def folders
  @folders
end

#idObject

Folder ID.



5
6
7
# File 'lib/inforouter/folder.rb', line 5

def id
  @id
end

#nameObject

Folder name.



9
10
11
# File 'lib/inforouter/folder.rb', line 9

def name
  @name
end

#owner_nameObject

Folder owner name.



17
18
19
# File 'lib/inforouter/folder.rb', line 17

def owner_name
  @owner_name
end

#parent_idObject

Folder parent ID.



7
8
9
# File 'lib/inforouter/folder.rb', line 7

def parent_id
  @parent_id
end

#pathObject

Folder path.



11
12
13
# File 'lib/inforouter/folder.rb', line 11

def path
  @path
end

#property_setsObject

Folder property sets. Array of Inforouter::PropertySets.



23
24
25
# File 'lib/inforouter/folder.rb', line 23

def property_sets
  @property_sets
end

#rulesObject

Folder rules.



25
26
27
# File 'lib/inforouter/folder.rb', line 25

def rules
  @rules
end

Class Method Details

.find(options = {}) ⇒ Object

Find by path.



37
38
39
40
41
# File 'lib/inforouter/folder.rb', line 37

def self.find(options = {})
  folder = Folder.new(options)
  response = Inforouter.client.request :get_folder, folder.send(:folder_params)
  Inforouter::Responses::Folder.parse response
end

Instance Method Details

#add_property_setsBoolean

Returns:

  • (Boolean)


119
120
121
122
123
124
125
126
127
# File 'lib/inforouter/folder.rb', line 119

def add_property_sets
  request_params = {
    :path => path,
    'xmlpset' => PropertySet.to_xml(property_sets)
  }
  response = Inforouter.client.request :add_property_set_row, request_params
  result = Inforouter::Responses::AddPropertySetRow.parse response
  result[:@success] == 'true'
end

#createBoolean

Returns:

  • (Boolean)


80
81
82
83
84
# File 'lib/inforouter/folder.rb', line 80

def create
  response = Inforouter.client.request :create_folder, path_params
  result = Inforouter::Responses::CreateFolder.parse response
  result[:@success] == 'true'
end

#exists?Boolean

Returns:

  • (Boolean)


87
88
89
90
91
# File 'lib/inforouter/folder.rb', line 87

def exists?
  response = Inforouter.client.request :folder_exists, path_params
  result = Inforouter::Responses::FolderExists.parse response
  result[:@success] == 'true'
end

#update_access_list(options = {}) ⇒ Boolean

Returns:

  • (Boolean)


94
95
96
97
98
99
100
101
102
103
104
# File 'lib/inforouter/folder.rb', line 94

def update_access_list(options = {})
  options = { apply_to_tree: false }.merge(options)
  request_params = {
    :path => path,
    'AccessListXML' => access_list.to_xml,
    :apply_to_tree => options[:apply_to_tree] ? 1 : 0
  }
  response = Inforouter.client.request :set_access_list, request_params
  result = Inforouter::Responses::SetAccessList.parse response
  result[:@success] == 'true'
end

#update_propertiesBoolean

Returns:

  • (Boolean)


107
108
109
110
111
112
113
114
115
116
# File 'lib/inforouter/folder.rb', line 107

def update_properties
  request_params = {
    path: path,
    new_folder_name: name,
    new_description: description
  }
  response = Inforouter.client.request :update_folder_properties, request_params
  result = Inforouter::Responses::UpdateFolderProperties.parse response
  result[:@success] == 'true'
end

#update_property_setsBoolean

Returns:

  • (Boolean)


130
131
132
133
134
135
136
137
138
# File 'lib/inforouter/folder.rb', line 130

def update_property_sets
  request_params = {
    :path => path,
    'xmlpset' => PropertySet.to_xml(property_sets)
  }
  response = Inforouter.client.request :update_property_set_row, request_params
  result = Inforouter::Responses::UpdatePropertySetRow response
  result[:@success] == 'true'
end

#update_rules(options = {}) ⇒ Boolean

Returns:

  • (Boolean)


141
142
143
144
145
146
147
148
149
150
151
# File 'lib/inforouter/folder.rb', line 141

def update_rules(options = {})
  options = { apply_to_tree: false }.merge(options)
  request_params = {
    :path => path,
    'xmlRules' => rules.to_hash,
    :apply_to_tree => options[:apply_to_tree] ? 1 : 0
  }
  response = Inforouter.client.request :set_folder_rules, request_params
  result = Inforouter::Responses::SetFolderRules.parse response
  result[:@success] == 'true'
end