viewpoint 0.1.23 → 0.1.24
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/model/generic_folder.rb +13 -4
- data/lib/soap/handsoap/parsers/ews_parser.rb +16 -0
- metadata +3 -3
data/lib/model/generic_folder.rb
CHANGED
@@ -105,14 +105,16 @@ module Viewpoint
|
|
105
105
|
# Gets a folder by name. This name must match the folder name exactly.
|
106
106
|
# @param [String] name The name of the folder to fetch.
|
107
107
|
# @param [String] shape the shape of the object to return IdOnly/Default/AllProperties
|
108
|
+
# @return [GenericFolder,nil] will return the folder by the given name of nil if not found.
|
108
109
|
def self.get_folder_by_name(name, shape = 'Default')
|
109
110
|
# For now the :field_uRI and :field_uRI_or_constant must be in an Array for Ruby 1.8.7 because Hashes
|
110
111
|
# are not positional at insertion until 1.9
|
111
112
|
restr = {:restriction =>
|
112
113
|
{:is_equal_to =>
|
113
114
|
[{:field_uRI => {:field_uRI=>'folder:DisplayName'}}, {:field_uRI_or_constant =>{:constant => {:value=>name}}}]}}
|
114
|
-
resp = (Viewpoint::EWS::EWS.instance).ews.find_folder([:
|
115
|
+
resp = (Viewpoint::EWS::EWS.instance).ews.find_folder([:root], 'Deep', {:base_shape => shape}, restr)
|
115
116
|
if(resp.status == 'Success')
|
117
|
+
return nil if resp.items.empty?
|
116
118
|
f = resp.items.first
|
117
119
|
f_type = f.keys.first.to_s.camel_case
|
118
120
|
eval "#{f_type}.new(f[f.keys.first])"
|
@@ -398,12 +400,19 @@ module Viewpoint
|
|
398
400
|
# @param [String] name The name of the new folder
|
399
401
|
def add_subfolder(name)
|
400
402
|
resp = (Viewpoint::EWS::EWS.instance).ews.create_folder(@folder_id, name)
|
403
|
+
folder = resp.items.first
|
404
|
+
ftype = folder.keys.first
|
405
|
+
GenericFolder.get_folder(folder[ftype][:folder_id][:id])
|
401
406
|
end
|
402
407
|
|
403
|
-
|
404
408
|
# Deletes this folder from the Exchange Data Store
|
405
|
-
|
406
|
-
|
409
|
+
# @param [Boolean] recycle_bin Send to the recycle bin instead of deleting (default: false)
|
410
|
+
# @return [TrueClass] This will return true because if an issue occurs it
|
411
|
+
# will be thrown in the SOAP Parser
|
412
|
+
def delete!(recycle_bin = false)
|
413
|
+
deltype = recycle_bin ? 'MoveToDeletedItems' : 'HardDelete'
|
414
|
+
resp = (Viewpoint::EWS::EWS.instance).ews.delete_folder(@folder_id, deltype)
|
415
|
+
true
|
407
416
|
end
|
408
417
|
|
409
418
|
private
|
@@ -43,6 +43,22 @@ module Viewpoint
|
|
43
43
|
@response_message.items = folders
|
44
44
|
end
|
45
45
|
|
46
|
+
def create_folder_response(opts)
|
47
|
+
if(@response_message.status == 'Success')
|
48
|
+
folders = []
|
49
|
+
(@response/"//#{NS_EWS_MESSAGES}:Folders/*").each do |f|
|
50
|
+
folders << xml_to_hash!(f.native_element)
|
51
|
+
end
|
52
|
+
@response_message.items = folders
|
53
|
+
else
|
54
|
+
raise EwsError, "#{@response_message.code}: #{@response_message.message}"
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
def delete_folder_response(opts)
|
59
|
+
raise EwsError, "#{@response_message.code}: #{@response_message.message}" unless @response_message.status == 'Success'
|
60
|
+
end
|
61
|
+
|
46
62
|
def get_events_response(opts)
|
47
63
|
if @response_message.status == 'Success'
|
48
64
|
events = []
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: viewpoint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.24
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Dan Wanek
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-
|
13
|
+
date: 2011-06-14 00:00:00 -05:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -154,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
requirements: []
|
155
155
|
|
156
156
|
rubyforge_project:
|
157
|
-
rubygems_version: 1.
|
157
|
+
rubygems_version: 1.6.2
|
158
158
|
signing_key:
|
159
159
|
specification_version: 3
|
160
160
|
summary: A Ruby client access library for Microsoft Exchange Web Services (EWS)
|