viewpoint 1.0.0.beta.1 → 1.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 (49) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +16 -11
  3. data/lib/ews/connection.rb +15 -6
  4. data/lib/ews/convert_accessors.rb +56 -0
  5. data/lib/ews/errors.rb +56 -0
  6. data/lib/ews/ews_client.rb +33 -3
  7. data/lib/ews/exceptions/exceptions.rb +2 -0
  8. data/lib/ews/folder_accessors.rb +66 -1
  9. data/lib/ews/impersonation.rb +30 -0
  10. data/lib/ews/item_accessors.rb +77 -3
  11. data/lib/ews/mailbox_accessors.rb +6 -1
  12. data/lib/ews/message_accessors.rb +9 -2
  13. data/lib/ews/room_accessors.rb +48 -0
  14. data/lib/ews/roomlist_accessors.rb +47 -0
  15. data/lib/ews/soap.rb +1 -0
  16. data/lib/ews/soap/builders/ews_builder.rb +303 -48
  17. data/lib/ews/soap/ews_response.rb +2 -1
  18. data/lib/ews/soap/ews_soap_free_busy_response.rb +13 -3
  19. data/lib/ews/soap/ews_soap_response.rb +1 -1
  20. data/lib/ews/soap/ews_soap_room_response.rb +53 -0
  21. data/lib/ews/soap/ews_soap_roomlist_response.rb +54 -0
  22. data/lib/ews/soap/exchange_data_services.rb +49 -11
  23. data/lib/ews/soap/exchange_synchronization.rb +93 -0
  24. data/lib/ews/soap/exchange_time_zones.rb +56 -0
  25. data/lib/ews/soap/exchange_web_service.rb +36 -66
  26. data/lib/ews/soap/parsers/ews_sax_document.rb +8 -4
  27. data/lib/ews/soap/response_message.rb +3 -1
  28. data/lib/ews/soap/responses/create_attachment_response_message.rb +2 -1
  29. data/lib/ews/soap/responses/send_notification_response_message.rb +2 -1
  30. data/lib/{extensions/string.rb → ews/soap/responses/sync_folder_hierarchy_response_message.rb} +18 -17
  31. data/lib/ews/soap/responses/sync_folder_items_response_message.rb +36 -0
  32. data/lib/ews/templates/calendar_item.rb +78 -0
  33. data/lib/ews/templates/message.rb +8 -1
  34. data/lib/ews/templates/task.rb +74 -0
  35. data/lib/ews/types.rb +59 -11
  36. data/lib/ews/types/calendar_folder.rb +42 -0
  37. data/lib/ews/types/calendar_item.rb +93 -1
  38. data/lib/ews/types/export_items_response_message.rb +52 -0
  39. data/lib/ews/types/generic_folder.rb +70 -2
  40. data/lib/ews/types/item.rb +64 -4
  41. data/lib/ews/types/item_attachment.rb +41 -3
  42. data/lib/ews/types/item_field_uri_map.rb +1 -1
  43. data/lib/ews/types/task.rb +30 -0
  44. data/lib/ews/types/tasks_folder.rb +19 -0
  45. data/lib/viewpoint.rb +14 -14
  46. data/lib/viewpoint/logging.rb +27 -0
  47. data/lib/viewpoint/logging/config.rb +24 -0
  48. data/lib/viewpoint/string_utils.rb +76 -0
  49. metadata +82 -76
@@ -19,15 +19,45 @@
19
19
  module Viewpoint::EWS::Types
20
20
  class ItemAttachment < Attachment
21
21
 
22
- ITEM_ATTACH_KEY_PATHS = { }
23
-
24
- ITEM_ATTACH_KEY_TYPES = { }
22
+ ITEM_ATTACH_KEY_PATHS = {
23
+ item: [:item],
24
+ message: [:message],
25
+ calendar_item: [:calendar_item],
26
+ contact: [:contact],
27
+ task: [:task],
28
+ meeting_message: [:meeting_message],
29
+ meeting_request: [:meeting_request],
30
+ meeting_response: [:meeting_response],
31
+ meeting_cancellation: [:meeting_cancellation]
32
+ }
33
+
34
+ ITEM_ATTACH_KEY_TYPES = {
35
+ message: :build_message,
36
+ calendar_item: :build_calendar_item,
37
+ contact: :build_contact,
38
+ task: :build_task,
39
+ meeting_message: :build_meeting_message,
40
+ meeting_request: :build_meeting_request,
41
+ meeting_response: :build_meeting_response,
42
+ meeting_cancellation: :build_meeting_cancellation
43
+ }
25
44
 
26
45
  ITEM_ATTACH_KEY_ALIAS = { }
27
46
 
47
+ def get_all_properties!
48
+ resp = ews.get_attachment attachment_ids: [self.id]
49
+ @ews_item.merge!(parse_response(resp))
50
+ end
28
51
 
29
52
  private
30
53
 
54
+ def self.method_missing(method, *args, &block)
55
+ if method.to_s =~ /^build_(.+)$/
56
+ class_by_name($1).new(ews, args[0])
57
+ else
58
+ super
59
+ end
60
+ end
31
61
 
32
62
  def key_paths
33
63
  super.merge(ITEM_ATTACH_KEY_PATHS)
@@ -41,6 +71,14 @@ module Viewpoint::EWS::Types
41
71
  super.merge(ITEM_ATTACH_KEY_ALIAS)
42
72
  end
43
73
 
74
+ def parse_response(resp)
75
+ if(resp.status == 'Success')
76
+ resp.response_message[:elems][:attachments][:elems][0][:item_attachment][:elems].inject(&:merge)
77
+ else
78
+ raise EwsError, "Could not retrieve #{self.class}. #{resp.code}: #{resp.message}"
79
+ end
80
+ end
81
+
44
82
  end
45
83
  end
46
84
 
@@ -21,7 +21,7 @@ module Viewpoint
21
21
  module ItemFieldUriMap
22
22
 
23
23
  FIELD_URIS= {
24
- :folder_id => {:text => 'older:FolderId', :writable => true},
24
+ :folder_id => {:text => 'folder:FolderId', :writable => true},
25
25
  :parent_folder_id => {:text => 'folder:ParentFolderId', :writable => true},
26
26
  :display_name => {:text => 'folder:DisplayName', :writable => true},
27
27
  :unread_count => {:text => 'folder:UnreadCount', :writable => true},
@@ -3,5 +3,35 @@ module Viewpoint::EWS::Types
3
3
  include Viewpoint::EWS
4
4
  include Viewpoint::EWS::Types
5
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
+ }
15
+
16
+ TASK_KEY_TYPES = {
17
+ recurring?: ->(str){str.downcase == 'true'},
18
+ complete?: ->(str){str.downcase == 'true'},
19
+ reminder?: ->(str){str.downcase == 'true'},
20
+ }
21
+ TASK_KEY_ALIAS = {}
22
+
23
+ private
24
+
25
+ def key_paths
26
+ super.merge(TASK_KEY_PATHS)
27
+ end
28
+
29
+ def key_types
30
+ super.merge(TASK_KEY_TYPES)
31
+ end
32
+
33
+ def key_alias
34
+ super.merge(TASK_KEY_ALIAS)
35
+ end
6
36
  end
7
37
  end
@@ -4,5 +4,24 @@ module Viewpoint::EWS::Types
4
4
  include Viewpoint::EWS::Types
5
5
  include Viewpoint::EWS::Types::GenericFolder
6
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
7
26
  end
8
27
  end
@@ -23,21 +23,11 @@ require 'nokogiri'
23
23
  require 'ostruct'
24
24
  require 'logging'
25
25
 
26
- # Class Extensions (Monkey patches)
27
- require 'extensions/string'
26
+ # String utilities
27
+ require 'viewpoint/string_utils'
28
28
 
29
- module Viewpoint
30
- module EWS
31
- attr_reader :logger
32
- Logging.logger.root.level = :debug
33
- Logging.logger.root.appenders = Logging.appenders.stdout
34
-
35
- def self.root_logger
36
- Logging.logger.root
37
- end
38
-
39
- end # EWS
40
- end
29
+ # Load the logging setup
30
+ require 'viewpoint/logging'
41
31
 
42
32
  # Load the Exception classes
43
33
  require 'ews/exceptions/exceptions'
@@ -49,19 +39,26 @@ require 'ews/soap/ews_response'
49
39
  require 'ews/soap/ews_soap_response'
50
40
  require 'ews/soap/ews_soap_availability_response'
51
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'
52
44
  require 'ews/soap/builders/ews_builder'
53
45
  require 'ews/soap/parsers/ews_parser'
54
46
  require 'ews/soap/parsers/ews_sax_document'
55
47
  # Mix-ins for the ExchangeWebService
56
48
  require 'ews/soap/exchange_data_services'
57
49
  require 'ews/soap/exchange_notification'
50
+ require 'ews/soap/exchange_synchronization'
58
51
  require 'ews/soap/exchange_availability'
59
52
  require 'ews/soap/exchange_user_configuration'
53
+ require 'ews/soap/exchange_time_zones'
60
54
  require 'ews/soap/exchange_web_service'
61
55
 
56
+ require 'ews/errors'
62
57
  require 'ews/connection_helper'
63
58
  require 'ews/connection'
64
59
 
60
+ require 'ews/impersonation'
61
+
65
62
  # Base Types
66
63
  require 'ews/types'
67
64
  require 'ews/types/item_field_uri_map'
@@ -88,6 +85,7 @@ require 'ews/types/file_attachment'
88
85
  require 'ews/types/item_attachment'
89
86
  require 'ews/types/mailbox_user'
90
87
  require 'ews/types/out_of_office'
88
+ require 'ews/types/export_items_response_message'
91
89
 
92
90
  # Events
93
91
  require 'ews/types/event'
@@ -104,6 +102,8 @@ require 'ews/types/status_event'
104
102
  require 'ews/templates/message'
105
103
  require 'ews/templates/forward_item'
106
104
  require 'ews/templates/reply_to_item'
105
+ require 'ews/templates/calendar_item'
106
+ require 'ews/templates/task'
107
107
 
108
108
  # The proxy between the models and the web service
109
109
  require 'ews/ews_client'
@@ -0,0 +1,27 @@
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
+ module EWS
21
+ attr_reader :logger
22
+
23
+ def self.root_logger
24
+ Logging.logger.root
25
+ end
26
+ end # EWS
27
+ end
@@ -0,0 +1,24 @@
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
+ module EWS
21
+ Logging.logger.root.level = :debug
22
+ Logging.logger.root.appenders = Logging.appenders.stdout
23
+ end # EWS
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,81 +1,72 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: viewpoint
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.beta.1
5
- prerelease: 6
4
+ version: 1.0.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Dan Wanek
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-04-15 00:00:00.000000000 Z
11
+ date: 2014-06-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: nokogiri
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: httpclient
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: '0'
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: '0'
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rubyntlm
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
- - - ~>
45
+ - - '>='
52
46
  - !ruby/object:Gem::Version
53
- version: 0.3.1
47
+ version: '0'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
- - - ~>
52
+ - - '>='
60
53
  - !ruby/object:Gem::Version
61
- version: 0.3.1
54
+ version: '0'
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: logging
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
- - - ! '>='
59
+ - - '>='
68
60
  - !ruby/object:Gem::Version
69
61
  version: '0'
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
- - - ! '>='
66
+ - - '>='
76
67
  - !ruby/object:Gem::Version
77
68
  version: '0'
78
- description: ! 'A Ruby client access library for Microsoft Exchange Web Services (EWS). Examples
69
+ description: 'A Ruby client access library for Microsoft Exchange Web Services (EWS). Examples
79
70
  can be found here: http://distributed-frostbite.blogspot.com'
80
71
  email: dan.wanek@gmail.com
81
72
  executables: []
@@ -87,75 +78,92 @@ files:
87
78
  - README.md
88
79
  - TODO
89
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
90
  - lib/ews/mailbox_accessors.rb
91
+ - lib/ews/message_accessors.rb
92
+ - lib/ews/push_subscription_accessors.rb
93
+ - lib/ews/room_accessors.rb
94
+ - lib/ews/roomlist_accessors.rb
91
95
  - lib/ews/soap.rb
96
+ - lib/ews/soap/builders/ews_builder.rb
92
97
  - lib/ews/soap/ews_response.rb
93
- - lib/ews/soap/response_message.rb
98
+ - lib/ews/soap/ews_soap_availability_response.rb
99
+ - lib/ews/soap/ews_soap_free_busy_response.rb
100
+ - lib/ews/soap/ews_soap_response.rb
101
+ - lib/ews/soap/ews_soap_room_response.rb
102
+ - lib/ews/soap/ews_soap_roomlist_response.rb
103
+ - lib/ews/soap/exchange_availability.rb
104
+ - lib/ews/soap/exchange_data_services.rb
105
+ - lib/ews/soap/exchange_notification.rb
106
+ - lib/ews/soap/exchange_synchronization.rb
107
+ - lib/ews/soap/exchange_time_zones.rb
94
108
  - lib/ews/soap/exchange_user_configuration.rb
95
109
  - lib/ews/soap/exchange_web_service.rb
96
- - lib/ews/soap/exchange_data_services.rb
97
- - lib/ews/soap/exchange_availability.rb
98
- - lib/ews/soap/ews_soap_response.rb
99
- - lib/ews/soap/builders/ews_builder.rb
110
+ - lib/ews/soap/parsers/ews_parser.rb
111
+ - lib/ews/soap/parsers/ews_sax_document.rb
112
+ - lib/ews/soap/response_message.rb
113
+ - lib/ews/soap/responses/create_attachment_response_message.rb
114
+ - lib/ews/soap/responses/create_item_response_message.rb
115
+ - lib/ews/soap/responses/find_item_response_message.rb
100
116
  - lib/ews/soap/responses/get_events_response_message.rb
101
117
  - lib/ews/soap/responses/send_notification_response_message.rb
102
- - lib/ews/soap/responses/create_item_response_message.rb
103
- - lib/ews/soap/responses/create_attachment_response_message.rb
104
118
  - lib/ews/soap/responses/subscribe_response_message.rb
105
- - lib/ews/soap/responses/find_item_response_message.rb
106
- - lib/ews/soap/parsers/ews_parser.rb
107
- - lib/ews/soap/parsers/ews_sax_document.rb
108
- - lib/ews/soap/exchange_notification.rb
109
- - lib/ews/soap/ews_soap_free_busy_response.rb
110
- - lib/ews/soap/ews_soap_availability_response.rb
111
- - lib/ews/exceptions/exceptions.rb
112
- - lib/ews/connection.rb
113
- - lib/ews/message_accessors.rb
114
- - lib/ews/push_subscription_accessors.rb
115
- - lib/ews/item_accessors.rb
119
+ - lib/ews/soap/responses/sync_folder_hierarchy_response_message.rb
120
+ - lib/ews/soap/responses/sync_folder_items_response_message.rb
121
+ - lib/ews/templates/calendar_item.rb
116
122
  - lib/ews/templates/forward_item.rb
117
- - lib/ews/templates/reply_to_item.rb
118
123
  - lib/ews/templates/message.rb
119
- - lib/ews/ews_client.rb
120
- - lib/ews/folder_accessors.rb
121
- - lib/ews/types/generic_folder.rb
122
- - lib/ews/types/item_attachment.rb
123
- - lib/ews/types/new_mail_event.rb
124
- - lib/ews/types/item_field_uri_map.rb
124
+ - lib/ews/templates/reply_to_item.rb
125
+ - lib/ews/templates/task.rb
126
+ - lib/ews/types.rb
127
+ - lib/ews/types/attachment.rb
128
+ - lib/ews/types/attendee.rb
129
+ - lib/ews/types/calendar_folder.rb
130
+ - lib/ews/types/calendar_item.rb
131
+ - lib/ews/types/contact.rb
132
+ - lib/ews/types/contacts_folder.rb
133
+ - lib/ews/types/copied_event.rb
134
+ - lib/ews/types/created_event.rb
135
+ - lib/ews/types/deleted_event.rb
125
136
  - lib/ews/types/distribution_list.rb
126
- - lib/ews/types/file_attachment.rb
127
137
  - lib/ews/types/event.rb
128
- - lib/ews/types/meeting_request.rb
138
+ - lib/ews/types/export_items_response_message.rb
139
+ - lib/ews/types/file_attachment.rb
129
140
  - lib/ews/types/folder.rb
130
- - lib/ews/types/contacts_folder.rb
131
- - lib/ews/types/contact.rb
141
+ - lib/ews/types/free_busy_changed_event.rb
142
+ - lib/ews/types/generic_folder.rb
143
+ - lib/ews/types/item.rb
144
+ - lib/ews/types/item_attachment.rb
145
+ - lib/ews/types/item_field_uri_map.rb
146
+ - lib/ews/types/mailbox_user.rb
132
147
  - lib/ews/types/meeting_cancellation.rb
148
+ - lib/ews/types/meeting_message.rb
149
+ - lib/ews/types/meeting_request.rb
133
150
  - lib/ews/types/meeting_response.rb
134
- - lib/ews/types/out_of_office.rb
135
- - lib/ews/types/item.rb
136
151
  - lib/ews/types/message.rb
137
- - lib/ews/types/free_busy_changed_event.rb
152
+ - lib/ews/types/modified_event.rb
153
+ - lib/ews/types/moved_event.rb
154
+ - lib/ews/types/new_mail_event.rb
155
+ - lib/ews/types/out_of_office.rb
138
156
  - lib/ews/types/search_folder.rb
139
- - lib/ews/types/attachment.rb
140
- - lib/ews/types/attendee.rb
141
- - lib/ews/types/calendar_item.rb
142
157
  - lib/ews/types/status_event.rb
143
- - lib/ews/types/meeting_message.rb
144
- - lib/ews/types/moved_event.rb
145
- - lib/ews/types/deleted_event.rb
146
- - lib/ews/types/calendar_folder.rb
147
- - lib/ews/types/modified_event.rb
148
- - lib/ews/types/tasks_folder.rb
149
158
  - lib/ews/types/task.rb
150
- - lib/ews/types/copied_event.rb
151
- - lib/ews/types/created_event.rb
152
- - lib/ews/types/mailbox_user.rb
153
- - lib/ews/types.rb
154
- - lib/ews/connection_helper.rb
159
+ - lib/ews/types/tasks_folder.rb
155
160
  - lib/viewpoint.rb
156
- - lib/extensions/string.rb
161
+ - lib/viewpoint/logging.rb
162
+ - lib/viewpoint/logging/config.rb
163
+ - lib/viewpoint/string_utils.rb
157
164
  homepage: http://github.com/zenchild/Viewpoint
158
165
  licenses: []
166
+ metadata: {}
159
167
  post_install_message:
160
168
  rdoc_options:
161
169
  - -x
@@ -165,21 +173,19 @@ rdoc_options:
165
173
  require_paths:
166
174
  - lib
167
175
  required_ruby_version: !ruby/object:Gem::Requirement
168
- none: false
169
176
  requirements:
170
- - - ! '>='
177
+ - - '>='
171
178
  - !ruby/object:Gem::Version
172
179
  version: 1.9.1
173
180
  required_rubygems_version: !ruby/object:Gem::Requirement
174
- none: false
175
181
  requirements:
176
- - - ! '>'
182
+ - - '>='
177
183
  - !ruby/object:Gem::Version
178
- version: 1.3.1
184
+ version: '0'
179
185
  requirements: []
180
186
  rubyforge_project:
181
- rubygems_version: 1.8.24
187
+ rubygems_version: 2.2.2
182
188
  signing_key:
183
- specification_version: 3
189
+ specification_version: 4
184
190
  summary: A Ruby client access library for Microsoft Exchange Web Services (EWS)
185
191
  test_files: []