viewpoint 1.0.0.beta.1 → 1.0.0

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