viewpoint 1.1.1 → 2.0.0

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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +13 -8
  3. data/lib/ews/calendar_accessors.rb +37 -33
  4. data/lib/ews/connection.rb +151 -124
  5. data/lib/ews/connection_helper.rb +36 -33
  6. data/lib/ews/convert_accessors.rb +58 -54
  7. data/lib/ews/errors.rb +59 -53
  8. data/lib/ews/ews_client.rb +92 -79
  9. data/lib/ews/exceptions/exceptions.rb +61 -61
  10. data/lib/ews/folder_accessors.rb +235 -234
  11. data/lib/ews/impersonation.rb +29 -23
  12. data/lib/ews/item_accessors.rb +215 -213
  13. data/lib/ews/mailbox_accessors.rb +82 -79
  14. data/lib/ews/meeting_accessors.rb +38 -31
  15. data/lib/ews/message_accessors.rb +83 -81
  16. data/lib/ews/push_subscription_accessors.rb +29 -27
  17. data/lib/ews/room_accessors.rb +48 -46
  18. data/lib/ews/roomlist_accessors.rb +47 -45
  19. data/lib/ews/soap/builders/ews_builder.rb +1186 -1188
  20. data/lib/ews/soap/ews_response.rb +68 -73
  21. data/lib/ews/soap/ews_soap_availability_response.rb +57 -57
  22. data/lib/ews/soap/ews_soap_free_busy_response.rb +115 -117
  23. data/lib/ews/soap/ews_soap_response.rb +99 -101
  24. data/lib/ews/soap/ews_soap_room_response.rb +45 -45
  25. data/lib/ews/soap/ews_soap_roomlist_response.rb +45 -46
  26. data/lib/ews/soap/exchange_availability.rb +54 -52
  27. data/lib/ews/soap/exchange_data_services.rb +693 -711
  28. data/lib/ews/soap/exchange_notification.rb +123 -128
  29. data/lib/ews/soap/exchange_synchronization.rb +82 -82
  30. data/lib/ews/soap/exchange_time_zones.rb +41 -44
  31. data/lib/ews/soap/exchange_user_configuration.rb +30 -27
  32. data/lib/ews/soap/exchange_web_service.rb +237 -233
  33. data/lib/ews/soap/parsers/ews_parser.rb +46 -42
  34. data/lib/ews/soap/parsers/ews_sax_document.rb +63 -58
  35. data/lib/ews/soap/response_message.rb +69 -68
  36. data/lib/ews/soap/responses/create_attachment_response_message.rb +45 -45
  37. data/lib/ews/soap/responses/create_item_response_message.rb +26 -25
  38. data/lib/ews/soap/responses/find_item_response_message.rb +76 -78
  39. data/lib/ews/soap/responses/get_events_response_message.rb +52 -51
  40. data/lib/ews/soap/responses/send_notification_response_message.rb +53 -51
  41. data/lib/ews/soap/responses/subscribe_response_message.rb +37 -34
  42. data/lib/ews/soap/responses/sync_folder_hierarchy_response_message.rb +38 -35
  43. data/lib/ews/soap/responses/sync_folder_items_response_message.rb +38 -35
  44. data/lib/ews/soap.rb +27 -26
  45. data/lib/ews/templates/calendar_item.rb +64 -60
  46. data/lib/ews/templates/forward_item.rb +19 -17
  47. data/lib/ews/templates/message.rb +61 -67
  48. data/lib/ews/templates/reply_to_item.rb +20 -18
  49. data/lib/ews/templates/task.rb +55 -55
  50. data/lib/ews/types/attachment.rb +75 -74
  51. data/lib/ews/types/attendee.rb +27 -25
  52. data/lib/ews/types/calendar_folder.rb +60 -44
  53. data/lib/ews/types/calendar_item.rb +134 -116
  54. data/lib/ews/types/contact.rb +11 -5
  55. data/lib/ews/types/contacts_folder.rb +10 -5
  56. data/lib/ews/types/copied_event.rb +47 -48
  57. data/lib/ews/types/created_event.rb +22 -20
  58. data/lib/ews/types/deleted_event.rb +22 -20
  59. data/lib/ews/types/distribution_list.rb +11 -5
  60. data/lib/ews/types/event.rb +60 -59
  61. data/lib/ews/types/export_items_response_message.rb +54 -50
  62. data/lib/ews/types/file_attachment.rb +63 -61
  63. data/lib/ews/types/folder.rb +58 -57
  64. data/lib/ews/types/free_busy_changed_event.rb +22 -20
  65. data/lib/ews/types/generic_folder.rb +348 -372
  66. data/lib/ews/types/item.rb +401 -397
  67. data/lib/ews/types/item_attachment.rb +87 -80
  68. data/lib/ews/types/item_field_uri_map.rb +201 -200
  69. data/lib/ews/types/mailbox_user.rb +146 -154
  70. data/lib/ews/types/meeting_cancellation.rb +11 -5
  71. data/lib/ews/types/meeting_message.rb +11 -5
  72. data/lib/ews/types/meeting_request.rb +11 -5
  73. data/lib/ews/types/meeting_response.rb +11 -5
  74. data/lib/ews/types/message.rb +11 -5
  75. data/lib/ews/types/modified_event.rb +43 -45
  76. data/lib/ews/types/moved_event.rb +47 -48
  77. data/lib/ews/types/new_mail_event.rb +22 -20
  78. data/lib/ews/types/out_of_office.rb +145 -144
  79. data/lib/ews/types/post_item.rb +11 -5
  80. data/lib/ews/types/search_folder.rb +10 -5
  81. data/lib/ews/types/status_event.rb +37 -36
  82. data/lib/ews/types/task.rb +39 -33
  83. data/lib/ews/types/tasks_folder.rb +32 -22
  84. data/lib/ews/types.rb +134 -139
  85. data/lib/viewpoint/logging/config.rb +19 -19
  86. data/lib/viewpoint/logging.rb +23 -17
  87. data/lib/viewpoint/string_utils.rb +31 -32
  88. data/lib/viewpoint.rb +18 -18
  89. metadata +82 -11
  90. data/Changelog.txt +0 -1004
@@ -1,60 +1,61 @@
1
- module Viewpoint::EWS::Types
2
- class Folder
3
- include Viewpoint::EWS
4
- include Viewpoint::EWS::Types
5
- include Viewpoint::EWS::Types::GenericFolder
6
-
7
- FOLDER_KEY_PATHS = {
8
- :unread_count => [:unread_count, :text],
9
- }
10
- FOLDER_KEY_TYPES = {
11
- :unread_count => ->(str){str.to_i},
12
- }
13
- FOLDER_KEY_ALIAS = {}
14
-
15
- alias :messages :items
16
-
17
- def unread_messages
18
- self.items read_unread_restriction
1
+ # frozen_string_literal: true
2
+
3
+ module Viewpoint
4
+ module EWS
5
+ module Types
6
+ # Folder EWS data type.
7
+ class Folder
8
+ include Viewpoint::EWS
9
+ include Viewpoint::EWS::Types
10
+ include Viewpoint::EWS::Types::GenericFolder
11
+
12
+ FOLDER_KEY_PATHS = {
13
+ unread_count: %i[unread_count text]
14
+ }.freeze
15
+ FOLDER_KEY_TYPES = {
16
+ unread_count: lambda(&:to_i)
17
+ }.freeze
18
+ FOLDER_KEY_ALIAS = {}.freeze
19
+
20
+ alias messages items
21
+
22
+ def unread_messages
23
+ items read_unread_restriction
24
+ end
25
+
26
+ def read_messages
27
+ items read_unread_restriction(read: true)
28
+ end
29
+
30
+ def messages_with_attachments
31
+ opts = { restriction: { is_equal_to: [
32
+ { field_uRI: { field_uRI: 'item:HasAttachments' } },
33
+ { field_uRI_or_constant: { constant: { value: true } } }
34
+ ] } }
35
+ items opts
36
+ end
37
+
38
+ private
39
+
40
+ def read_unread_restriction(read: false)
41
+ { restriction: { is_equal_to: [
42
+ { field_uRI: { field_uRI: 'message:IsRead' } },
43
+ { field_uRI_or_constant: { constant: { value: read } } }
44
+ ] } }
45
+ end
46
+
47
+ def key_paths
48
+ @key_paths ||= super.merge(FOLDER_KEY_PATHS)
49
+ end
50
+
51
+ def key_types
52
+ @key_types ||= super.merge(FOLDER_KEY_TYPES)
53
+ end
54
+
55
+ def key_alias
56
+ @key_alias ||= super.merge(FOLDER_KEY_ALIAS)
57
+ end
58
+ end
19
59
  end
20
-
21
- def read_messages
22
- self.items read_unread_restriction(true)
23
- end
24
-
25
- def messages_with_attachments
26
- opts = {:restriction =>
27
- {:is_equal_to => [
28
- {:field_uRI => {:field_uRI=>'item:HasAttachments'}},
29
- {:field_uRI_or_constant => {:constant => {:value=> true}}}
30
- ]}
31
- }
32
- self.items opts
33
- end
34
-
35
- private
36
-
37
-
38
- def read_unread_restriction(read = false)
39
- {:restriction =>
40
- {:is_equal_to => [
41
- {:field_uRI => {:field_uRI=>'message:IsRead'}},
42
- {:field_uRI_or_constant => {:constant => {:value=> read}}}
43
- ]}
44
- }
45
- end
46
-
47
- def key_paths
48
- @key_paths ||= super.merge(FOLDER_KEY_PATHS)
49
- end
50
-
51
- def key_types
52
- @key_types ||= super.merge(FOLDER_KEY_TYPES)
53
- end
54
-
55
- def key_alias
56
- @key_alias ||= super.merge(FOLDER_KEY_ALIAS)
57
- end
58
-
59
60
  end
60
61
  end
@@ -1,24 +1,26 @@
1
- =begin
2
- This file is part of Viewpoint; the Ruby library for Microsoft Exchange Web Services.
1
+ # frozen_string_literal: true
3
2
 
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::Types
20
-
21
- class FreeBusyChangedEvent < Event
3
+ # This file is part of Viewpoint; the Ruby library for Microsoft Exchange Web Services.
4
+ #
5
+ # Copyright © 2011 Dan Wanek <dan.wanek@gmail.com>
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
22
18
 
19
+ module Viewpoint
20
+ module EWS
21
+ module Types
22
+ class FreeBusyChangedEvent < Event
23
+ end
24
+ end
23
25
  end
24
26
  end