sfdcvp 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/Changelog.txt +1004 -0
- data/README.md +201 -0
- data/TODO +17 -0
- data/lib/ews/calendar_accessors.rb +34 -0
- data/lib/ews/connection.rb +126 -0
- data/lib/ews/connection_helper.rb +35 -0
- data/lib/ews/convert_accessors.rb +56 -0
- data/lib/ews/errors.rb +56 -0
- data/lib/ews/ews_client.rb +101 -0
- data/lib/ews/exceptions/exceptions.rb +61 -0
- data/lib/ews/folder_accessors.rb +264 -0
- data/lib/ews/impersonation.rb +30 -0
- data/lib/ews/item_accessors.rb +231 -0
- data/lib/ews/mailbox_accessors.rb +92 -0
- data/lib/ews/message_accessors.rb +93 -0
- data/lib/ews/push_subscription_accessors.rb +33 -0
- data/lib/ews/room_accessors.rb +48 -0
- data/lib/ews/roomlist_accessors.rb +47 -0
- data/lib/ews/soap.rb +64 -0
- data/lib/ews/soap/builders/ews_builder.rb +1361 -0
- data/lib/ews/soap/ews_response.rb +84 -0
- data/lib/ews/soap/ews_soap_availability_response.rb +58 -0
- data/lib/ews/soap/ews_soap_free_busy_response.rb +119 -0
- data/lib/ews/soap/ews_soap_response.rb +103 -0
- data/lib/ews/soap/ews_soap_room_response.rb +53 -0
- data/lib/ews/soap/ews_soap_roomlist_response.rb +54 -0
- data/lib/ews/soap/exchange_availability.rb +61 -0
- data/lib/ews/soap/exchange_data_services.rb +780 -0
- data/lib/ews/soap/exchange_notification.rb +146 -0
- data/lib/ews/soap/exchange_synchronization.rb +93 -0
- data/lib/ews/soap/exchange_time_zones.rb +56 -0
- data/lib/ews/soap/exchange_user_configuration.rb +33 -0
- data/lib/ews/soap/exchange_web_service.rb +264 -0
- data/lib/ews/soap/parsers/ews_parser.rb +43 -0
- data/lib/ews/soap/parsers/ews_sax_document.rb +70 -0
- data/lib/ews/soap/response_message.rb +80 -0
- data/lib/ews/soap/responses/create_attachment_response_message.rb +47 -0
- data/lib/ews/soap/responses/create_item_response_message.rb +25 -0
- data/lib/ews/soap/responses/find_item_response_message.rb +80 -0
- data/lib/ews/soap/responses/get_events_response_message.rb +53 -0
- data/lib/ews/soap/responses/send_notification_response_message.rb +59 -0
- data/lib/ews/soap/responses/subscribe_response_message.rb +35 -0
- data/lib/ews/soap/responses/sync_folder_hierarchy_response_message.rb +36 -0
- data/lib/ews/soap/responses/sync_folder_items_response_message.rb +36 -0
- data/lib/ews/templates/calendar_item.rb +78 -0
- data/lib/ews/templates/forward_item.rb +24 -0
- data/lib/ews/templates/message.rb +73 -0
- data/lib/ews/templates/reply_to_item.rb +25 -0
- data/lib/ews/templates/task.rb +74 -0
- data/lib/ews/types.rb +194 -0
- data/lib/ews/types/attachment.rb +77 -0
- data/lib/ews/types/attendee.rb +27 -0
- data/lib/ews/types/calendar_folder.rb +50 -0
- data/lib/ews/types/calendar_item.rb +129 -0
- data/lib/ews/types/contact.rb +7 -0
- data/lib/ews/types/contacts_folder.rb +8 -0
- data/lib/ews/types/copied_event.rb +51 -0
- data/lib/ews/types/created_event.rb +24 -0
- data/lib/ews/types/deleted_event.rb +24 -0
- data/lib/ews/types/distribution_list.rb +7 -0
- data/lib/ews/types/event.rb +62 -0
- data/lib/ews/types/export_items_response_message.rb +52 -0
- data/lib/ews/types/file_attachment.rb +65 -0
- data/lib/ews/types/folder.rb +60 -0
- data/lib/ews/types/free_busy_changed_event.rb +24 -0
- data/lib/ews/types/generic_folder.rb +420 -0
- data/lib/ews/types/item.rb +442 -0
- data/lib/ews/types/item_attachment.rb +84 -0
- data/lib/ews/types/item_field_uri_map.rb +224 -0
- data/lib/ews/types/mailbox_user.rb +156 -0
- data/lib/ews/types/meeting_cancellation.rb +7 -0
- data/lib/ews/types/meeting_message.rb +7 -0
- data/lib/ews/types/meeting_request.rb +7 -0
- data/lib/ews/types/meeting_response.rb +7 -0
- data/lib/ews/types/message.rb +7 -0
- data/lib/ews/types/modified_event.rb +48 -0
- data/lib/ews/types/moved_event.rb +51 -0
- data/lib/ews/types/new_mail_event.rb +24 -0
- data/lib/ews/types/out_of_office.rb +147 -0
- data/lib/ews/types/search_folder.rb +8 -0
- data/lib/ews/types/status_event.rb +39 -0
- data/lib/ews/types/task.rb +37 -0
- data/lib/ews/types/tasks_folder.rb +27 -0
- data/lib/sfdcvp.rb +109 -0
- data/lib/viewpoint/logging.rb +27 -0
- data/lib/viewpoint/logging/config.rb +24 -0
- data/lib/viewpoint/string_utils.rb +76 -0
- metadata +190 -0
@@ -0,0 +1,84 @@
|
|
1
|
+
=begin
|
2
|
+
This file is part of Viewpoint; the Ruby library for Microsoft Exchange Web Services.
|
3
|
+
|
4
|
+
Copyright © 2011 Dan Wanek <dan.wanek@gmail.com>
|
5
|
+
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
you may not use this file except in compliance with the License.
|
8
|
+
You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
=end
|
18
|
+
|
19
|
+
module Viewpoint::EWS::SOAP
|
20
|
+
|
21
|
+
# A Generic Class for SOAP returns.
|
22
|
+
class EwsResponse
|
23
|
+
include Viewpoint::StringUtils
|
24
|
+
|
25
|
+
def initialize(sax_hash)
|
26
|
+
@resp = sax_hash
|
27
|
+
simplify!
|
28
|
+
end
|
29
|
+
|
30
|
+
def envelope
|
31
|
+
@resp[:envelope][:elems]
|
32
|
+
end
|
33
|
+
|
34
|
+
def header
|
35
|
+
envelope[0][:header][:elems]
|
36
|
+
end
|
37
|
+
|
38
|
+
def body
|
39
|
+
envelope[1][:body][:elems]
|
40
|
+
end
|
41
|
+
|
42
|
+
def response
|
43
|
+
body[0]
|
44
|
+
end
|
45
|
+
|
46
|
+
def response_messages
|
47
|
+
return @response_messages if @response_messages
|
48
|
+
|
49
|
+
@response_messages = []
|
50
|
+
response_type = response.keys.first
|
51
|
+
response[response_type][:elems][0][:response_messages][:elems].each do |rm|
|
52
|
+
response_message_type = rm.keys[0]
|
53
|
+
rm_klass = class_by_name(response_message_type)
|
54
|
+
@response_messages << rm_klass.new(rm)
|
55
|
+
end
|
56
|
+
@response_messages
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
private
|
61
|
+
|
62
|
+
|
63
|
+
def simplify!
|
64
|
+
response_type = response.keys.first
|
65
|
+
response[response_type][:elems][0][:response_messages][:elems].each do |rm|
|
66
|
+
key = rm.keys.first
|
67
|
+
rm[key][:elems] = rm[key][:elems].inject(&:merge)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def class_by_name(cname)
|
72
|
+
begin
|
73
|
+
if(cname.instance_of? Symbol)
|
74
|
+
cname = camel_case(cname)
|
75
|
+
end
|
76
|
+
Viewpoint::EWS::SOAP.const_get(cname)
|
77
|
+
rescue NameError => e
|
78
|
+
ResponseMessage
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
end # EwsSoapResponse
|
83
|
+
|
84
|
+
end # Viewpoint::EWS::SOAP
|
@@ -0,0 +1,58 @@
|
|
1
|
+
=begin
|
2
|
+
This file is part of Viewpoint; the Ruby library for Microsoft Exchange Web Services.
|
3
|
+
|
4
|
+
Copyright © 2011 Dan Wanek <dan.wanek@gmail.com>
|
5
|
+
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
you may not use this file except in compliance with the License.
|
8
|
+
You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
=end
|
18
|
+
|
19
|
+
module Viewpoint::EWS::SOAP
|
20
|
+
|
21
|
+
# This is a speciality response class to handle the idiosynracies of
|
22
|
+
# Availability responses.
|
23
|
+
# @attr_reader [String] :message The text from the EWS element <m:ResponseCode>
|
24
|
+
class EwsSoapAvailabilityResponse < EwsSoapResponse
|
25
|
+
|
26
|
+
def response_messages
|
27
|
+
nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def response
|
31
|
+
body[0][response_key]
|
32
|
+
end
|
33
|
+
|
34
|
+
def response_message
|
35
|
+
key = response.keys.first
|
36
|
+
response[key]
|
37
|
+
end
|
38
|
+
|
39
|
+
def response_code
|
40
|
+
response_message[:elems][:response_code][:text]
|
41
|
+
end
|
42
|
+
alias :code :response_code
|
43
|
+
|
44
|
+
def response_key
|
45
|
+
key = body[0].keys.first
|
46
|
+
end
|
47
|
+
|
48
|
+
private
|
49
|
+
|
50
|
+
def simplify!
|
51
|
+
key = response_key
|
52
|
+
body[0][key] = body[0][key][:elems].inject(:merge)
|
53
|
+
response_message[:elems] = response_message[:elems].inject(:merge)
|
54
|
+
end
|
55
|
+
|
56
|
+
end # EwsSoapAvailabilityResponse
|
57
|
+
|
58
|
+
end # Viewpoint::EWS::SOAP
|
@@ -0,0 +1,119 @@
|
|
1
|
+
=begin
|
2
|
+
This file is a cotribution to Viewpoint; the Ruby library for Microsoft Exchange Web Services.
|
3
|
+
|
4
|
+
Copyright © 2013 Mark McCahill <mark.mccahill@duke.edu>
|
5
|
+
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
you may not use this file except in compliance with the License.
|
8
|
+
You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
=end
|
18
|
+
|
19
|
+
module Viewpoint::EWS::SOAP
|
20
|
+
|
21
|
+
class EwsSoapFreeBusyResponse < EwsSoapResponse
|
22
|
+
|
23
|
+
def initialize(sax_hash)
|
24
|
+
@resp = sax_hash
|
25
|
+
simplify!
|
26
|
+
end
|
27
|
+
|
28
|
+
def envelope
|
29
|
+
@resp[:envelope][:elems]
|
30
|
+
end
|
31
|
+
|
32
|
+
def header
|
33
|
+
envelope[0][:header][:elems]
|
34
|
+
end
|
35
|
+
|
36
|
+
def body
|
37
|
+
envelope[1][:body][:elems]
|
38
|
+
end
|
39
|
+
|
40
|
+
def get_user_availability_response
|
41
|
+
body.first[:get_user_availability_response][:elems].first[:free_busy_response_array][:elems].first[:free_busy_response][:elems]
|
42
|
+
end
|
43
|
+
|
44
|
+
def response
|
45
|
+
body
|
46
|
+
end
|
47
|
+
|
48
|
+
def calendar_event_array
|
49
|
+
result = find_in_hash_list(get_user_availability_response[1][:free_busy_view][:elems], :calendar_event_array)
|
50
|
+
result ? result[:elems] : []
|
51
|
+
end
|
52
|
+
|
53
|
+
def working_hours
|
54
|
+
get_user_availability_response[1][:free_busy_view][:elems][2][:working_hours][:elems]
|
55
|
+
end
|
56
|
+
|
57
|
+
def response_message
|
58
|
+
find_in_hash_list(get_user_availability_response, :response_message)
|
59
|
+
end
|
60
|
+
|
61
|
+
def response_class
|
62
|
+
response_message[:attribs][:response_class]
|
63
|
+
end
|
64
|
+
alias :status :response_class
|
65
|
+
|
66
|
+
def response_code
|
67
|
+
result = find_in_hash_list(response_message[:elems], :response_code)
|
68
|
+
result ? result[:text] : nil
|
69
|
+
end
|
70
|
+
alias :code :response_code
|
71
|
+
|
72
|
+
def response_message_text
|
73
|
+
guard_hash response_message[:elems], [:message_text, :text]
|
74
|
+
end
|
75
|
+
alias :message :response_message_text
|
76
|
+
|
77
|
+
def response_key
|
78
|
+
response_message[:elems]
|
79
|
+
end
|
80
|
+
|
81
|
+
def success?
|
82
|
+
response_class == "Success"
|
83
|
+
end
|
84
|
+
|
85
|
+
private
|
86
|
+
|
87
|
+
def simplify!
|
88
|
+
# key = response_key
|
89
|
+
# body[0][key] = body[0][key][:elems].inject(:merge)
|
90
|
+
# response_message[:elems] = response_message[:elems].inject(:merge)
|
91
|
+
end
|
92
|
+
|
93
|
+
# If the keys don't exist in the Hash return nil
|
94
|
+
# @param[Hash] hsh
|
95
|
+
# @param[Array<Symbol,String>] keys keys to follow in the array
|
96
|
+
# @return [Object, nil]
|
97
|
+
def guard_hash(hsh, keys)
|
98
|
+
key = keys.shift
|
99
|
+
return nil unless hsh.is_a?(Hash) && hsh.has_key?(key)
|
100
|
+
|
101
|
+
if keys.empty?
|
102
|
+
hsh[key]
|
103
|
+
else
|
104
|
+
guard_hash hsh[key], keys
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
# Find the first element in a list of hashes or return nil
|
109
|
+
# Example:
|
110
|
+
# find_in_hash_list([{:foo => :bar}, {:bar => :baz}], :foo)
|
111
|
+
# => :bar
|
112
|
+
def find_in_hash_list(collection, key)
|
113
|
+
result = collection.find { |hsh| hsh.keys.include?(key) }
|
114
|
+
result ? result[key] : nil
|
115
|
+
end
|
116
|
+
|
117
|
+
end # EwsSoapFreeBusyResponse
|
118
|
+
|
119
|
+
end # Viewpoint::EWS::SOAP
|
@@ -0,0 +1,103 @@
|
|
1
|
+
=begin
|
2
|
+
This file is part of Viewpoint; the Ruby library for Microsoft Exchange Web Services.
|
3
|
+
|
4
|
+
Copyright © 2011 Dan Wanek <dan.wanek@gmail.com>
|
5
|
+
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
you may not use this file except in compliance with the License.
|
8
|
+
You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
=end
|
18
|
+
|
19
|
+
module Viewpoint::EWS::SOAP
|
20
|
+
|
21
|
+
# A Generic Class for SOAP returns.
|
22
|
+
# @attr_reader [String] :message The text from the EWS element <m:ResponseCode>
|
23
|
+
class EwsSoapResponse
|
24
|
+
|
25
|
+
def initialize(sax_hash)
|
26
|
+
@resp = sax_hash
|
27
|
+
simplify!
|
28
|
+
end
|
29
|
+
|
30
|
+
def envelope
|
31
|
+
@resp[:envelope][:elems]
|
32
|
+
end
|
33
|
+
|
34
|
+
def header
|
35
|
+
envelope[0][:header][:elems]
|
36
|
+
end
|
37
|
+
|
38
|
+
def body
|
39
|
+
envelope[1][:body][:elems]
|
40
|
+
end
|
41
|
+
|
42
|
+
def response
|
43
|
+
body[0]
|
44
|
+
end
|
45
|
+
|
46
|
+
def response_messages
|
47
|
+
key = response.keys.first
|
48
|
+
response[key][:elems].find{|e| e.keys.include? :response_messages }[:response_messages][:elems]
|
49
|
+
end
|
50
|
+
|
51
|
+
def response_message
|
52
|
+
key = response_messages[0].keys.first
|
53
|
+
response_messages[0][key]
|
54
|
+
end
|
55
|
+
|
56
|
+
def response_class
|
57
|
+
response_message[:attribs][:response_class]
|
58
|
+
end
|
59
|
+
alias :status :response_class
|
60
|
+
|
61
|
+
def response_code
|
62
|
+
response_message[:elems][:response_code][:text]
|
63
|
+
end
|
64
|
+
alias :code :response_code
|
65
|
+
|
66
|
+
def response_message_text
|
67
|
+
guard_hash response_message[:elems], [:message_text, :text]
|
68
|
+
end
|
69
|
+
alias :message :response_message_text
|
70
|
+
|
71
|
+
def success?
|
72
|
+
response_class == "Success"
|
73
|
+
end
|
74
|
+
|
75
|
+
|
76
|
+
private
|
77
|
+
|
78
|
+
|
79
|
+
def simplify!
|
80
|
+
response_messages.each do |rm|
|
81
|
+
key = rm.keys.first
|
82
|
+
rm[key][:elems] = rm[key][:elems].inject(&:merge)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
# If the keys don't exist in the Hash return nil
|
87
|
+
# @param[Hash] hsh
|
88
|
+
# @param[Array<Symbol,String>] keys keys to follow in the array
|
89
|
+
# @return [Object, nil]
|
90
|
+
def guard_hash(hsh, keys)
|
91
|
+
key = keys.shift
|
92
|
+
return nil unless hsh.is_a?(Hash) && hsh.has_key?(key)
|
93
|
+
|
94
|
+
if keys.empty?
|
95
|
+
hsh[key]
|
96
|
+
else
|
97
|
+
guard_hash hsh[key], keys
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
101
|
+
end # EwsSoapResponse
|
102
|
+
|
103
|
+
end # Viewpoint::EWS::SOAP
|
@@ -0,0 +1,53 @@
|
|
1
|
+
=begin
|
2
|
+
This file is a contribution to Viewpoint; the Ruby library for Microsoft Exchange Web Services.
|
3
|
+
|
4
|
+
Copyright © 2013 Camille Baldock <viewpoint@camillebaldock.co.uk>
|
5
|
+
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
you may not use this file except in compliance with the License.
|
8
|
+
You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
=end
|
18
|
+
|
19
|
+
module Viewpoint::EWS::SOAP
|
20
|
+
|
21
|
+
# A class for roomlists SOAP returns.
|
22
|
+
# @attr_reader [String] :message The text from the EWS element <m:ResponseCode>
|
23
|
+
class EwsSoapRoomResponse < EwsSoapResponse
|
24
|
+
|
25
|
+
def response_messages
|
26
|
+
key = response.keys.first
|
27
|
+
subresponse = response[key][:elems][1]
|
28
|
+
response_class = subresponse.keys.first
|
29
|
+
subresponse[response_class][:elems]
|
30
|
+
end
|
31
|
+
|
32
|
+
def roomsArray
|
33
|
+
response[:get_rooms_response][:elems][1][:rooms][:elems]
|
34
|
+
end
|
35
|
+
|
36
|
+
def success?
|
37
|
+
response.first[1][:attribs][:response_class] == "Success"
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
def simplify!
|
43
|
+
if response_messages
|
44
|
+
response_messages.each do |rm|
|
45
|
+
key = rm.keys.first
|
46
|
+
rm[key][:elems] = rm[key][:elems].inject(&:merge)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
end # EwsSoapRoomResponse
|
52
|
+
|
53
|
+
end # Viewpoint::EWS::SOAP
|
@@ -0,0 +1,54 @@
|
|
1
|
+
=begin
|
2
|
+
This file is a contribution to Viewpoint; the Ruby library for Microsoft Exchange Web Services.
|
3
|
+
|
4
|
+
Copyright © 2013 Camille Baldock <viewpoint@camillebaldock.co.uk>
|
5
|
+
|
6
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
you may not use this file except in compliance with the License.
|
8
|
+
You may obtain a copy of the License at
|
9
|
+
|
10
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
|
12
|
+
Unless required by applicable law or agreed to in writing, software
|
13
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
See the License for the specific language governing permissions and
|
16
|
+
limitations under the License.
|
17
|
+
=end
|
18
|
+
|
19
|
+
module Viewpoint::EWS::SOAP
|
20
|
+
|
21
|
+
# A class for roomlists SOAP returns.
|
22
|
+
# @attr_reader [String] :message The text from the EWS element <m:ResponseCode>
|
23
|
+
class EwsSoapRoomlistResponse < EwsSoapResponse
|
24
|
+
|
25
|
+
def response_messages
|
26
|
+
key = response.keys.first
|
27
|
+
subresponse = response[key][:elems][1]
|
28
|
+
response_class = subresponse.keys.first
|
29
|
+
subresponse[response_class][:elems]
|
30
|
+
end
|
31
|
+
|
32
|
+
def roomListsArray
|
33
|
+
response[:get_room_lists_response][:elems][1][:room_lists][:elems]
|
34
|
+
end
|
35
|
+
|
36
|
+
def success?
|
37
|
+
response.first[1][:attribs][:response_class] == "Success"
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
|
42
|
+
|
43
|
+
def simplify!
|
44
|
+
if response_messages
|
45
|
+
response_messages.each do |rm|
|
46
|
+
key = rm.keys.first
|
47
|
+
rm[key][:elems] = rm[key][:elems].inject(&:merge)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
end # EwsSoapRoomlistResponse
|
53
|
+
|
54
|
+
end # Viewpoint::EWS::SOAP
|