viewpoint 0.1.26 → 1.1.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.
Files changed (112) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +203 -0
  3. data/lib/ews/calendar_accessors.rb +34 -0
  4. data/lib/ews/connection.rb +140 -0
  5. data/lib/ews/connection_helper.rb +35 -0
  6. data/lib/ews/convert_accessors.rb +56 -0
  7. data/lib/{exceptions/exceptions.rb → ews/errors.rb} +29 -19
  8. data/lib/ews/ews_client.rb +105 -0
  9. data/lib/ews/exceptions/exceptions.rb +61 -0
  10. data/lib/ews/folder_accessors.rb +264 -0
  11. data/lib/ews/impersonation.rb +30 -0
  12. data/lib/ews/item_accessors.rb +242 -0
  13. data/lib/ews/mailbox_accessors.rb +92 -0
  14. data/lib/ews/meeting_accessors.rb +39 -0
  15. data/lib/ews/message_accessors.rb +93 -0
  16. data/lib/ews/push_subscription_accessors.rb +33 -0
  17. data/lib/ews/room_accessors.rb +48 -0
  18. data/lib/ews/roomlist_accessors.rb +47 -0
  19. data/lib/ews/soap.rb +64 -0
  20. data/lib/ews/soap/builders/ews_builder.rb +1384 -0
  21. data/lib/ews/soap/ews_response.rb +84 -0
  22. data/lib/ews/soap/ews_soap_availability_response.rb +58 -0
  23. data/lib/ews/soap/ews_soap_free_busy_response.rb +119 -0
  24. data/lib/ews/soap/ews_soap_response.rb +103 -0
  25. data/lib/ews/soap/ews_soap_room_response.rb +53 -0
  26. data/lib/ews/soap/ews_soap_roomlist_response.rb +54 -0
  27. data/lib/ews/soap/exchange_availability.rb +61 -0
  28. data/lib/ews/soap/exchange_data_services.rb +780 -0
  29. data/lib/ews/soap/exchange_notification.rb +146 -0
  30. data/lib/ews/soap/exchange_synchronization.rb +93 -0
  31. data/lib/ews/soap/exchange_time_zones.rb +56 -0
  32. data/lib/ews/soap/exchange_user_configuration.rb +33 -0
  33. data/lib/ews/soap/exchange_web_service.rb +264 -0
  34. data/lib/{model/item_attachment.rb → ews/soap/parsers/ews_parser.rb} +24 -14
  35. data/lib/ews/soap/parsers/ews_sax_document.rb +70 -0
  36. data/lib/ews/soap/response_message.rb +80 -0
  37. data/lib/ews/soap/responses/create_attachment_response_message.rb +47 -0
  38. data/lib/{model/meeting_message.rb → ews/soap/responses/create_item_response_message.rb} +7 -10
  39. data/lib/ews/soap/responses/find_item_response_message.rb +80 -0
  40. data/lib/ews/soap/responses/get_events_response_message.rb +53 -0
  41. data/lib/ews/soap/responses/send_notification_response_message.rb +59 -0
  42. data/lib/{model/attachment.rb → ews/soap/responses/subscribe_response_message.rb} +17 -13
  43. data/lib/{model/attendee.rb → ews/soap/responses/sync_folder_hierarchy_response_message.rb} +14 -15
  44. data/lib/ews/soap/responses/sync_folder_items_response_message.rb +36 -0
  45. data/lib/ews/templates/calendar_item.rb +79 -0
  46. data/lib/ews/templates/forward_item.rb +24 -0
  47. data/lib/ews/templates/message.rb +85 -0
  48. data/lib/ews/templates/reply_to_item.rb +25 -0
  49. data/lib/ews/templates/task.rb +74 -0
  50. data/lib/ews/types.rb +194 -0
  51. data/lib/ews/types/attachment.rb +77 -0
  52. data/lib/{model/meeting_cancellation.rb → ews/types/attendee.rb} +9 -8
  53. data/lib/ews/types/calendar_folder.rb +50 -0
  54. data/lib/ews/types/calendar_item.rb +130 -0
  55. data/lib/ews/types/contact.rb +7 -0
  56. data/lib/ews/types/contacts_folder.rb +8 -0
  57. data/lib/ews/types/copied_event.rb +51 -0
  58. data/lib/{soap/handsoap/builder.rb → ews/types/created_event.rb} +5 -2
  59. data/lib/ews/types/deleted_event.rb +24 -0
  60. data/lib/ews/types/distribution_list.rb +7 -0
  61. data/lib/ews/types/event.rb +62 -0
  62. data/lib/ews/types/export_items_response_message.rb +52 -0
  63. data/lib/ews/types/file_attachment.rb +65 -0
  64. data/lib/ews/types/folder.rb +60 -0
  65. data/lib/ews/types/free_busy_changed_event.rb +24 -0
  66. data/lib/ews/types/generic_folder.rb +418 -0
  67. data/lib/ews/types/item.rb +447 -0
  68. data/lib/ews/types/item_attachment.rb +84 -0
  69. data/lib/{model → ews/types}/item_field_uri_map.rb +2 -18
  70. data/lib/ews/types/mailbox_user.rb +156 -0
  71. data/lib/ews/types/meeting_cancellation.rb +7 -0
  72. data/lib/ews/types/meeting_message.rb +7 -0
  73. data/lib/ews/types/meeting_request.rb +7 -0
  74. data/lib/ews/types/meeting_response.rb +7 -0
  75. data/lib/ews/types/message.rb +7 -0
  76. data/lib/ews/types/modified_event.rb +48 -0
  77. data/lib/{extensions/string.rb → ews/types/moved_event.rb} +31 -15
  78. data/lib/ews/types/new_mail_event.rb +24 -0
  79. data/lib/ews/types/out_of_office.rb +147 -0
  80. data/lib/ews/types/post_item.rb +7 -0
  81. data/lib/ews/types/search_folder.rb +8 -0
  82. data/lib/ews/types/status_event.rb +39 -0
  83. data/lib/ews/types/task.rb +41 -0
  84. data/lib/ews/types/tasks_folder.rb +27 -0
  85. data/lib/viewpoint.rb +85 -108
  86. data/lib/{model/distribution_list.rb → viewpoint/logging.rb} +6 -3
  87. data/lib/{model/meeting_response.rb → viewpoint/logging/config.rb} +3 -3
  88. data/lib/viewpoint/string_utils.rb +76 -0
  89. metadata +156 -123
  90. data/README +0 -114
  91. data/lib/model/calendar_folder.rb +0 -67
  92. data/lib/model/calendar_item.rb +0 -267
  93. data/lib/model/contact.rb +0 -238
  94. data/lib/model/contacts_folder.rb +0 -46
  95. data/lib/model/event.rb +0 -116
  96. data/lib/model/file_attachment.rb +0 -53
  97. data/lib/model/folder.rb +0 -47
  98. data/lib/model/generic_folder.rb +0 -461
  99. data/lib/model/item.rb +0 -312
  100. data/lib/model/mailbox_user.rb +0 -146
  101. data/lib/model/meeting_request.rb +0 -39
  102. data/lib/model/message.rb +0 -142
  103. data/lib/model/model.rb +0 -269
  104. data/lib/model/search_folder.rb +0 -48
  105. data/lib/model/task.rb +0 -121
  106. data/lib/model/tasks_folder.rb +0 -44
  107. data/lib/soap/handsoap/builders/ews_build_helpers.rb +0 -383
  108. data/lib/soap/handsoap/builders/ews_builder.rb +0 -146
  109. data/lib/soap/handsoap/ews_service.rb +0 -790
  110. data/lib/soap/handsoap/parser.rb +0 -104
  111. data/lib/soap/handsoap/parsers/ews_parser.rb +0 -245
  112. data/lib/soap/soap_provider.rb +0 -64
@@ -0,0 +1,7 @@
1
+ module Viewpoint::EWS::Types
2
+ class PostItem
3
+ include Viewpoint::EWS
4
+ include Viewpoint::EWS::Types
5
+ include Viewpoint::EWS::Types::Item
6
+ end
7
+ end
@@ -0,0 +1,8 @@
1
+ module Viewpoint::EWS::Types
2
+ class SearchFolder
3
+ include Viewpoint::EWS
4
+ include Viewpoint::EWS::Types
5
+ include Viewpoint::EWS::Types::GenericFolder
6
+
7
+ end
8
+ end
@@ -0,0 +1,39 @@
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::Types
20
+
21
+ class StatusEvent
22
+ include Viewpoint::EWS
23
+ include Viewpoint::EWS::Types
24
+ include Viewpoint::EWS::Types::Item
25
+
26
+ STATUS_EVENT_KEY_PATHS = {
27
+ :watermark => [:watermark, :text],
28
+ }
29
+
30
+
31
+ private
32
+
33
+
34
+ def key_paths
35
+ @key_paths ||= STATUS_EVENT_KEY_PATHS
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,41 @@
1
+ module Viewpoint::EWS::Types
2
+ class Task
3
+ include Viewpoint::EWS
4
+ include Viewpoint::EWS::Types
5
+ include Viewpoint::EWS::Types::Item
6
+
7
+ TASK_KEY_PATHS = {
8
+ complete?: [:is_complete, :text],
9
+ recurring?: [:is_recurring, :text],
10
+ start_date: [:start_date, :text],
11
+ due_date: [:end_date, :text],
12
+ reminder_due_by: [:reminder_due_by, :text],
13
+ reminder?: [:reminder_is_set, :text],
14
+ percent_complete: [:percent_complete, :text],
15
+ status: [:status, :text],
16
+ }
17
+
18
+ TASK_KEY_TYPES = {
19
+ recurring?: ->(str){str.downcase == 'true'},
20
+ complete?: ->(str){str.downcase == 'true'},
21
+ reminder?: ->(str){str.downcase == 'true'},
22
+ percent_complete: ->(str){str.to_i},
23
+ }
24
+ TASK_KEY_ALIAS = {}
25
+
26
+ private
27
+
28
+ def key_paths
29
+ super.merge(TASK_KEY_PATHS)
30
+ end
31
+
32
+ def key_types
33
+ super.merge(TASK_KEY_TYPES)
34
+ end
35
+
36
+ def key_alias
37
+ super.merge(TASK_KEY_ALIAS)
38
+ end
39
+
40
+ end
41
+ end
@@ -0,0 +1,27 @@
1
+ module Viewpoint::EWS::Types
2
+ class TasksFolder
3
+ include Viewpoint::EWS
4
+ include Viewpoint::EWS::Types
5
+ include Viewpoint::EWS::Types::GenericFolder
6
+
7
+ # Creates a new task
8
+ # @param attributes [Hash] Parameters of the task. Some example attributes are listed below.
9
+ # @option attributes :subject [String]
10
+ # @option attributes :start_date [Time]
11
+ # @option attributes :due_date [Time]
12
+ # @option attributes :reminder_due_by [Time]
13
+ # @option attributes :reminder_is_set [Boolean]
14
+ # @return [Task]
15
+ # @see Template::Task
16
+ def create_item(attributes)
17
+ template = Viewpoint::EWS::Template::Task.new attributes
18
+ template.saved_item_folder_id = {id: self.id, change_key: self.change_key}
19
+ rm = ews.create_item(template.to_ews_create).response_messages.first
20
+ if rm && rm.success?
21
+ Task.new ews, rm.items.first[:task][:elems].first
22
+ else
23
+ raise EwsCreateItemError, "Could not create item in folder. #{rm.code}: #{rm.message_text}" unless rm
24
+ end
25
+ end
26
+ end
27
+ end
data/lib/viewpoint.rb CHANGED
@@ -16,118 +16,95 @@
16
16
  limitations under the License.
17
17
  =end
18
18
 
19
- # We only what one instance of this class so include Singleton
20
- require 'singleton'
19
+ require 'kconv' if(RUBY_VERSION.start_with? '1.9') # bug in rubyntlm with ruby 1.9.x
21
20
  require 'date'
22
21
  require 'base64'
23
- require 'kconv' if(RUBY_VERSION.start_with? '1.9') # bug in rubyntlm with ruby 1.9.x
24
-
22
+ require 'nokogiri'
23
+ require 'ostruct'
24
+ require 'logging'
25
25
 
26
- # Class Extensions
27
- require 'extensions/string'
26
+ # String utilities
27
+ require 'viewpoint/string_utils'
28
28
 
29
- # Load the backend SOAP infrastructure. Today this is Handsoap.
30
- require 'soap/soap_provider'
29
+ # Load the logging setup
30
+ require 'viewpoint/logging'
31
31
 
32
- # Load the model classes
33
- # Base Models
34
- require 'model/model'
35
- require 'model/mailbox_user'
36
- require 'model/attendee'
37
- require 'model/generic_folder'
38
- require 'model/item_field_uri_map' # supports Item
39
- require 'model/item'
40
- # Specific Models
32
+ # Load the Exception classes
33
+ require 'ews/exceptions/exceptions'
34
+
35
+ # Load the backend SOAP / EWS infrastructure.
36
+ require 'ews/soap'
37
+ require 'ews/soap/response_message'
38
+ require 'ews/soap/ews_response'
39
+ require 'ews/soap/ews_soap_response'
40
+ require 'ews/soap/ews_soap_availability_response'
41
+ require 'ews/soap/ews_soap_free_busy_response'
42
+ require 'ews/soap/ews_soap_room_response'
43
+ require 'ews/soap/ews_soap_roomlist_response'
44
+ require 'ews/soap/builders/ews_builder'
45
+ require 'ews/soap/parsers/ews_parser'
46
+ require 'ews/soap/parsers/ews_sax_document'
47
+ # Mix-ins for the ExchangeWebService
48
+ require 'ews/soap/exchange_data_services'
49
+ require 'ews/soap/exchange_notification'
50
+ require 'ews/soap/exchange_synchronization'
51
+ require 'ews/soap/exchange_availability'
52
+ require 'ews/soap/exchange_user_configuration'
53
+ require 'ews/soap/exchange_time_zones'
54
+ require 'ews/soap/exchange_web_service'
55
+
56
+ require 'ews/errors'
57
+ require 'ews/connection_helper'
58
+ require 'ews/connection'
59
+
60
+ require 'ews/impersonation'
61
+
62
+ # Base Types
63
+ require 'ews/types'
64
+ require 'ews/types/item_field_uri_map'
65
+ require 'ews/types/generic_folder'
66
+ require 'ews/types/item'
41
67
  # Folders
42
- require 'model/folder'
43
- require 'model/calendar_folder'
44
- require 'model/contacts_folder'
45
- require 'model/search_folder'
46
- require 'model/tasks_folder'
68
+ require 'ews/types/folder'
69
+ require 'ews/types/calendar_folder'
70
+ require 'ews/types/contacts_folder'
71
+ require 'ews/types/tasks_folder'
72
+ require 'ews/types/search_folder'
47
73
  # Items
48
- require 'model/message'
49
- require 'model/calendar_item'
50
- require 'model/contact'
51
- require 'model/distribution_list'
52
- require 'model/meeting_message'
53
- require 'model/meeting_request'
54
- require 'model/meeting_response'
55
- require 'model/meeting_cancellation'
56
- require 'model/task'
57
- require 'model/attachment'
58
- require 'model/file_attachment'
59
- require 'model/item_attachment'
60
- # Third Party Libraries
61
- require 'mail' # used to convert Message items to RFC822 compliant messages
62
- require 'icalendar' # used to convert Calendar items to iCalendar objects
63
-
64
- # Load the Exception classes
65
- require 'exceptions/exceptions'
66
-
67
-
68
- # This is the Singlenton class that controls access and presentation to Exchange
69
- # Web Services. It is possible to just use the SOAP classes themselves but this
70
- # is what ties all the pieces together.
71
- # @attr_reader [SOAP::ExchangeWebService] :ews The SOAP object used to make calls
72
- # to the Exchange Web Service.
73
- module Viewpoint
74
- module EWS
75
- # @attr_reader [Viewpoint::EWS::SOAP::ExchangeWebService] :ews The EWS object used
76
- # to make SOAP calls. You typically don't need to use this, but if you want to
77
- # play around with the SOAP back-end it's available.
78
- class EWS
79
- include Singleton
80
- include Viewpoint
81
-
82
- attr_reader :ews
83
-
84
- # Set the endpoint for Exchange Web Services.
85
- # @param [String] endpoint The URL of the endpoint. This should end in
86
- # 'exchange.asmx' and is typically something like this:
87
- # https://myexch/ews/exchange.asmx
88
- # @param [Integer] version The SOAP version to use. This defaults to 1
89
- # and you should not need to pass this parameter.
90
- def self.endpoint=(endpoint, version = 1)
91
- @@endpoint = endpoint
92
- SOAP::ExchangeWebService.endpoint(:uri => endpoint, :version => version) && true
93
- end
94
-
95
- # Fetch the current endpoint
96
- def self.endpoint
97
- @@endpoint
98
- end
99
-
100
- # Set the SOAP username and password.
101
- # @param [String] user The user name
102
- # @param [String] pass The password
103
- def self.set_auth(user,pass)
104
- @@user = user
105
- SOAP::ExchangeWebService.set_auth(user,pass) && true
106
- end
107
-
108
- # Set the http driver that the SOAP back-end will use.
109
- # @param [Symbol] driver The HTTP driver. Available drivers:
110
- # :curb, :net_http, :http_client(Default)
111
- def self.set_http_driver(driver)
112
- Handsoap.http_driver = driver
113
- end
114
-
115
- # Sets the CA path to a certificate or hashed certificate directory.
116
- # This is the same as HTTPClient::SSLConfig.set_trust_ca
117
- # @param [String] ca_path A path to an OpenSSL::X509::Certificate or a 'c-rehash'ed directory
118
- def self.set_trust_ca(ca_path)
119
- SOAP::ExchangeWebService.set_http_options(:trust_ca_file => ca_path) && true
120
- end
121
-
122
- def initialize
123
- @ews = SOAP::ExchangeWebService.new
124
- end
125
-
126
- # The MailboxUser object that represents the user connected to EWS.
127
- def me
128
- MailboxUser.find_user((@@user.include?('@') ? @@user : "#{@@user}@"))
129
- end
130
-
131
- end # class EWS
132
- end # EWS
133
- end
74
+ require 'ews/types/message'
75
+ require 'ews/types/calendar_item'
76
+ require 'ews/types/contact'
77
+ require 'ews/types/distribution_list'
78
+ require 'ews/types/meeting_message'
79
+ require 'ews/types/meeting_request'
80
+ require 'ews/types/meeting_response'
81
+ require 'ews/types/meeting_cancellation'
82
+ require 'ews/types/task'
83
+ require 'ews/types/attachment'
84
+ require 'ews/types/file_attachment'
85
+ require 'ews/types/item_attachment'
86
+ require 'ews/types/mailbox_user'
87
+ require 'ews/types/out_of_office'
88
+ require 'ews/types/export_items_response_message'
89
+ require 'ews/types/post_item'
90
+
91
+ # Events
92
+ require 'ews/types/event'
93
+ require 'ews/types/copied_event'
94
+ require 'ews/types/created_event'
95
+ require 'ews/types/deleted_event'
96
+ require 'ews/types/free_busy_changed_event'
97
+ require 'ews/types/modified_event'
98
+ require 'ews/types/moved_event'
99
+ require 'ews/types/new_mail_event'
100
+ require 'ews/types/status_event'
101
+
102
+ # Template Objects
103
+ require 'ews/templates/message'
104
+ require 'ews/templates/forward_item'
105
+ require 'ews/templates/reply_to_item'
106
+ require 'ews/templates/calendar_item'
107
+ require 'ews/templates/task'
108
+
109
+ # The proxy between the models and the web service
110
+ require 'ews/ews_client'
@@ -18,7 +18,10 @@
18
18
 
19
19
  module Viewpoint
20
20
  module EWS
21
- class DistributionList < Item
22
- end # DistributionList
21
+ attr_reader :logger
22
+
23
+ def self.root_logger
24
+ Logging.logger.root
25
+ end
23
26
  end # EWS
24
- end # Viewpoint
27
+ end
@@ -18,7 +18,7 @@
18
18
 
19
19
  module Viewpoint
20
20
  module EWS
21
- class MeetingResponse < Item
22
- end # MeetingResponse
21
+ Logging.logger.root.level = :debug
22
+ Logging.logger.root.appenders = Logging.appenders.stdout
23
23
  end # EWS
24
- end # Viewpoint
24
+ end
@@ -0,0 +1,76 @@
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
20
+
21
+ class StringFormatException < ::Exception; end
22
+
23
+ # Collection of utility methods for working with Strings
24
+ module StringUtils
25
+
26
+ DURATION_RE = /
27
+ (?<start>P)
28
+ ((?<weeks>\d+)W)?
29
+ ((?<days>\d+)D)?
30
+ (?<time>T
31
+ ((?<hours>\d+)H)?
32
+ ((?<minutes>\d+)M)?
33
+ ((?<seconds>\d+)S)?
34
+ )?
35
+ /x
36
+
37
+ def self.included(klass)
38
+ klass.extend StringUtils
39
+ end
40
+
41
+ private
42
+
43
+ # Change CamelCased strings to ruby_cased strings
44
+ # It uses the lookahead assertion ?= In this case it basically says match
45
+ # anything followed by a capital letter, but not the capital letter itself.
46
+ # @see http://www.pcre.org/pcre.txt The PCRE guide for more details
47
+ def ruby_case(input)
48
+ input.to_s.split(/(?=[A-Z])/).join('_').downcase
49
+ end
50
+
51
+ # Change a ruby_cased string to CamelCased
52
+ def camel_case(input)
53
+ input.to_s.split(/_/).map { |i|
54
+ i.sub(/^./) { |s| s.upcase }
55
+ }.join
56
+ end
57
+
58
+ # Convert an ISO8601 Duration format to seconds
59
+ # @see http://tools.ietf.org/html/rfc2445#section-4.3.6
60
+ # @param [String] input
61
+ # @return [nil,Fixnum] the number of seconds in this duration
62
+ # nil if there is no known duration
63
+ def iso8601_duration_to_seconds(input)
64
+ return nil if input.nil? || input.empty?
65
+ match_data = DURATION_RE.match(input)
66
+ raise(StringFormatException, "Invalid duration given") if match_data.nil?
67
+ duration = 0
68
+ duration += match_data[:weeks].to_i * 604800
69
+ duration += match_data[:days].to_i * 86400
70
+ duration += match_data[:hours].to_i * 3600
71
+ duration += match_data[:minutes].to_i * 60
72
+ duration += match_data[:seconds].to_i
73
+ end
74
+
75
+ end # StringUtils
76
+ end # Viewpoint
metadata CHANGED
@@ -1,159 +1,192 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: viewpoint
3
- version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.1.26
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.1
6
5
  platform: ruby
7
- authors:
6
+ authors:
8
7
  - Dan Wanek
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
-
13
- date: 2011-11-21 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
16
- name: handsoap
17
- prerelease: false
18
- requirement: &id001 !ruby/object:Gem::Requirement
19
- none: false
20
- requirements:
11
+ date: 2021-02-02 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: nokogiri
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
21
17
  - - ">="
22
- - !ruby/object:Gem::Version
23
- version: "0"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
24
20
  type: :runtime
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
27
- name: nokogiri
28
21
  prerelease: false
29
- requirement: &id002 !ruby/object:Gem::Requirement
30
- none: false
31
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
32
24
  - - ">="
33
- - !ruby/object:Gem::Version
34
- version: "0"
35
- type: :runtime
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
38
28
  name: httpclient
39
- prerelease: false
40
- requirement: &id003 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
43
31
  - - ">="
44
- - !ruby/object:Gem::Version
45
- version: "0"
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
46
34
  type: :runtime
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
49
- name: rubyntlm
50
35
  prerelease: false
51
- requirement: &id004 !ruby/object:Gem::Requirement
52
- none: false
53
- requirements:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rubyntlm
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
54
45
  - - ">="
55
- - !ruby/object:Gem::Version
56
- version: "0"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
57
48
  type: :runtime
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
60
- name: icalendar
61
49
  prerelease: false
62
- requirement: &id005 !ruby/object:Gem::Requirement
63
- none: false
64
- requirements:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
65
52
  - - ">="
66
- - !ruby/object:Gem::Version
67
- version: 1.1.5
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: logging
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
68
62
  type: :runtime
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
71
- name: mail
72
63
  prerelease: false
73
- requirement: &id006 !ruby/object:Gem::Requirement
74
- none: false
75
- requirements:
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
76
66
  - - ">="
77
- - !ruby/object:Gem::Version
78
- version: 2.2.5
79
- type: :runtime
80
- version_requirements: *id006
81
- description: "A Ruby client access library for Microsoft Exchange Web Services (EWS). Examples can be found here: http://distributed-frostbite.blogspot.com"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: 'A Ruby client access library for Microsoft Exchange Web Services (EWS). Examples
70
+ can be found here: http://distributed-frostbite.blogspot.com'
82
71
  email: dan.wanek@gmail.com
83
72
  executables: []
84
-
85
73
  extensions: []
86
-
87
- extra_rdoc_files:
88
- - README
89
- files:
74
+ extra_rdoc_files:
75
+ - README.md
76
+ files:
90
77
  - Changelog.txt
91
- - README
78
+ - README.md
92
79
  - TODO
80
+ - lib/ews/calendar_accessors.rb
81
+ - lib/ews/connection.rb
82
+ - lib/ews/connection_helper.rb
83
+ - lib/ews/convert_accessors.rb
84
+ - lib/ews/errors.rb
85
+ - lib/ews/ews_client.rb
86
+ - lib/ews/exceptions/exceptions.rb
87
+ - lib/ews/folder_accessors.rb
88
+ - lib/ews/impersonation.rb
89
+ - lib/ews/item_accessors.rb
90
+ - lib/ews/mailbox_accessors.rb
91
+ - lib/ews/meeting_accessors.rb
92
+ - lib/ews/message_accessors.rb
93
+ - lib/ews/push_subscription_accessors.rb
94
+ - lib/ews/room_accessors.rb
95
+ - lib/ews/roomlist_accessors.rb
96
+ - lib/ews/soap.rb
97
+ - lib/ews/soap/builders/ews_builder.rb
98
+ - lib/ews/soap/ews_response.rb
99
+ - lib/ews/soap/ews_soap_availability_response.rb
100
+ - lib/ews/soap/ews_soap_free_busy_response.rb
101
+ - lib/ews/soap/ews_soap_response.rb
102
+ - lib/ews/soap/ews_soap_room_response.rb
103
+ - lib/ews/soap/ews_soap_roomlist_response.rb
104
+ - lib/ews/soap/exchange_availability.rb
105
+ - lib/ews/soap/exchange_data_services.rb
106
+ - lib/ews/soap/exchange_notification.rb
107
+ - lib/ews/soap/exchange_synchronization.rb
108
+ - lib/ews/soap/exchange_time_zones.rb
109
+ - lib/ews/soap/exchange_user_configuration.rb
110
+ - lib/ews/soap/exchange_web_service.rb
111
+ - lib/ews/soap/parsers/ews_parser.rb
112
+ - lib/ews/soap/parsers/ews_sax_document.rb
113
+ - lib/ews/soap/response_message.rb
114
+ - lib/ews/soap/responses/create_attachment_response_message.rb
115
+ - lib/ews/soap/responses/create_item_response_message.rb
116
+ - lib/ews/soap/responses/find_item_response_message.rb
117
+ - lib/ews/soap/responses/get_events_response_message.rb
118
+ - lib/ews/soap/responses/send_notification_response_message.rb
119
+ - lib/ews/soap/responses/subscribe_response_message.rb
120
+ - lib/ews/soap/responses/sync_folder_hierarchy_response_message.rb
121
+ - lib/ews/soap/responses/sync_folder_items_response_message.rb
122
+ - lib/ews/templates/calendar_item.rb
123
+ - lib/ews/templates/forward_item.rb
124
+ - lib/ews/templates/message.rb
125
+ - lib/ews/templates/reply_to_item.rb
126
+ - lib/ews/templates/task.rb
127
+ - lib/ews/types.rb
128
+ - lib/ews/types/attachment.rb
129
+ - lib/ews/types/attendee.rb
130
+ - lib/ews/types/calendar_folder.rb
131
+ - lib/ews/types/calendar_item.rb
132
+ - lib/ews/types/contact.rb
133
+ - lib/ews/types/contacts_folder.rb
134
+ - lib/ews/types/copied_event.rb
135
+ - lib/ews/types/created_event.rb
136
+ - lib/ews/types/deleted_event.rb
137
+ - lib/ews/types/distribution_list.rb
138
+ - lib/ews/types/event.rb
139
+ - lib/ews/types/export_items_response_message.rb
140
+ - lib/ews/types/file_attachment.rb
141
+ - lib/ews/types/folder.rb
142
+ - lib/ews/types/free_busy_changed_event.rb
143
+ - lib/ews/types/generic_folder.rb
144
+ - lib/ews/types/item.rb
145
+ - lib/ews/types/item_attachment.rb
146
+ - lib/ews/types/item_field_uri_map.rb
147
+ - lib/ews/types/mailbox_user.rb
148
+ - lib/ews/types/meeting_cancellation.rb
149
+ - lib/ews/types/meeting_message.rb
150
+ - lib/ews/types/meeting_request.rb
151
+ - lib/ews/types/meeting_response.rb
152
+ - lib/ews/types/message.rb
153
+ - lib/ews/types/modified_event.rb
154
+ - lib/ews/types/moved_event.rb
155
+ - lib/ews/types/new_mail_event.rb
156
+ - lib/ews/types/out_of_office.rb
157
+ - lib/ews/types/post_item.rb
158
+ - lib/ews/types/search_folder.rb
159
+ - lib/ews/types/status_event.rb
160
+ - lib/ews/types/task.rb
161
+ - lib/ews/types/tasks_folder.rb
93
162
  - lib/viewpoint.rb
94
- - lib/exceptions/exceptions.rb
95
- - lib/model/mailbox_user.rb
96
- - lib/model/model.rb
97
- - lib/model/generic_folder.rb
98
- - lib/model/distribution_list.rb
99
- - lib/model/attendee.rb
100
- - lib/model/meeting_response.rb
101
- - lib/model/meeting_cancellation.rb
102
- - lib/model/task.rb
103
- - lib/model/event.rb
104
- - lib/model/tasks_folder.rb
105
- - lib/model/attachment.rb
106
- - lib/model/contacts_folder.rb
107
- - lib/model/meeting_request.rb
108
- - lib/model/item_attachment.rb
109
- - lib/model/meeting_message.rb
110
- - lib/model/folder.rb
111
- - lib/model/search_folder.rb
112
- - lib/model/contact.rb
113
- - lib/model/item.rb
114
- - lib/model/calendar_folder.rb
115
- - lib/model/item_field_uri_map.rb
116
- - lib/model/message.rb
117
- - lib/model/file_attachment.rb
118
- - lib/model/calendar_item.rb
119
- - lib/soap/handsoap/parsers/ews_parser.rb
120
- - lib/soap/handsoap/parser.rb
121
- - lib/soap/handsoap/builder.rb
122
- - lib/soap/handsoap/builders/ews_builder.rb
123
- - lib/soap/handsoap/builders/ews_build_helpers.rb
124
- - lib/soap/handsoap/ews_service.rb
125
- - lib/soap/soap_provider.rb
126
- - lib/extensions/string.rb
163
+ - lib/viewpoint/logging.rb
164
+ - lib/viewpoint/logging/config.rb
165
+ - lib/viewpoint/string_utils.rb
127
166
  homepage: http://github.com/zenchild/Viewpoint
128
167
  licenses: []
129
-
130
- post_install_message:
131
- rdoc_options:
132
- - -x
168
+ metadata: {}
169
+ post_install_message:
170
+ rdoc_options:
171
+ - "-x"
133
172
  - test/
134
- - -x
173
+ - "-x"
135
174
  - examples/
136
- require_paths:
175
+ require_paths:
137
176
  - lib
138
- required_ruby_version: !ruby/object:Gem::Requirement
139
- none: false
140
- requirements:
177
+ required_ruby_version: !ruby/object:Gem::Requirement
178
+ requirements:
141
179
  - - ">="
142
- - !ruby/object:Gem::Version
143
- version: 1.8.7
144
- required_rubygems_version: !ruby/object:Gem::Requirement
145
- none: false
146
- requirements:
180
+ - !ruby/object:Gem::Version
181
+ version: 1.9.1
182
+ required_rubygems_version: !ruby/object:Gem::Requirement
183
+ requirements:
147
184
  - - ">="
148
- - !ruby/object:Gem::Version
149
- version: "0"
185
+ - !ruby/object:Gem::Version
186
+ version: '0'
150
187
  requirements: []
151
-
152
- rubyforge_project:
153
- rubygems_version: 1.8.11
154
- signing_key:
155
- specification_version: 3
188
+ rubygems_version: 3.0.8
189
+ signing_key:
190
+ specification_version: 4
156
191
  summary: A Ruby client access library for Microsoft Exchange Web Services (EWS)
157
192
  test_files: []
158
-
159
- has_rdoc: