viewpoint 0.1.26 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
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: