viewpoint 0.1.22 → 0.1.23
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.
- data/lib/model/calendar_item.rb +2 -2
- data/lib/model/contact.rb +2 -2
- data/lib/model/event.rb +2 -2
- data/lib/model/generic_folder.rb +26 -1
- data/lib/model/item.rb +3 -3
- data/lib/model/meeting_message.rb +2 -2
- data/lib/model/message.rb +2 -2
- data/lib/model/task.rb +2 -2
- data/lib/soap/handsoap/ews_service.rb +1 -0
- metadata +2 -2
data/lib/model/calendar_item.rb
CHANGED
@@ -104,8 +104,8 @@ module Viewpoint
|
|
104
104
|
end
|
105
105
|
|
106
106
|
# Initialize an Exchange Web Services item of type CalendarItem
|
107
|
-
def initialize(ews_item)
|
108
|
-
super(ews_item)
|
107
|
+
def initialize(ews_item, opts={})
|
108
|
+
super(ews_item, opts)
|
109
109
|
end
|
110
110
|
|
111
111
|
# Add attendees to this CalendarItem. This does not commit the changes so you will have to use #save! to
|
data/lib/model/contact.rb
CHANGED
@@ -75,8 +75,8 @@ module Viewpoint
|
|
75
75
|
end
|
76
76
|
|
77
77
|
# Initialize an Exchange Web Services item of type Contact
|
78
|
-
def initialize(ews_item)
|
79
|
-
super(ews_item)
|
78
|
+
def initialize(ews_item, opts={})
|
79
|
+
super(ews_item, opts)
|
80
80
|
end
|
81
81
|
|
82
82
|
def set_email_addresses(email1, email2=nil, email3=nil)
|
data/lib/model/event.rb
CHANGED
@@ -25,7 +25,7 @@ module Viewpoint
|
|
25
25
|
attr_reader :subject, :organizer, :location, :start, :end, :cal_item_type
|
26
26
|
|
27
27
|
# Initialize an Exchange Web Services item
|
28
|
-
def initialize(ews_item, parent_folder)
|
28
|
+
def initialize(ews_item, parent_folder, opts={})
|
29
29
|
raise InvalidEWSItemError if ews_item.nil?
|
30
30
|
|
31
31
|
@subject = ews_item.subject # String
|
@@ -42,7 +42,7 @@ module Viewpoint
|
|
42
42
|
# body when the message is viewed.
|
43
43
|
@message = nil
|
44
44
|
|
45
|
-
super(ews_item,
|
45
|
+
super(ews_item, opts)
|
46
46
|
end
|
47
47
|
|
48
48
|
|
data/lib/model/generic_folder.rb
CHANGED
@@ -217,7 +217,9 @@ module Viewpoint
|
|
217
217
|
def find_items(opts = {})
|
218
218
|
opts = opts.clone # clone the passed in object so we don't modify it in case it's being used in a loop
|
219
219
|
item_shape = opts.has_key?(:item_shape) ? opts.delete(:item_shape) : {:base_shape => 'Default'}
|
220
|
-
item_shape
|
220
|
+
unless item_shape.has_key?(:additional_properties) # Don't overwrite if specified by caller
|
221
|
+
item_shape[:additional_properties] = {:field_uRI => ['item:ParentFolderId']}
|
222
|
+
end
|
221
223
|
resp = (Viewpoint::EWS::EWS.instance).ews.find_item([@folder_id], 'Shallow', item_shape, opts)
|
222
224
|
if(resp.status == 'Success')
|
223
225
|
parms = resp.items.shift
|
@@ -312,6 +314,29 @@ module Viewpoint
|
|
312
314
|
end
|
313
315
|
end
|
314
316
|
|
317
|
+
# Get Items
|
318
|
+
# @param [String] item_ids is an array of Item IDs to fetch
|
319
|
+
# @param [String] change_key specify an optional change_key if you want to
|
320
|
+
# make sure you are fetching a specific version of the object.
|
321
|
+
# @param [String] options specify an optional options hash. Supports the
|
322
|
+
# key :item_shape that expects a hash value with :base_shape and other
|
323
|
+
# optional parameters that specify the desired fields to return.
|
324
|
+
def get_items(item_ids, change_key = nil, options={})
|
325
|
+
item_shape = options[:item_shape] ||
|
326
|
+
{:base_shape => 'Default', :additional_properties => {:field_uRI => ['item:ParentFolderId']}}
|
327
|
+
shallow = item_shape[:base_shape] != 'AllProperties'
|
328
|
+
resp = (Viewpoint::EWS::EWS.instance).ews.get_item(item_ids, item_shape)
|
329
|
+
if(resp.status == 'Success')
|
330
|
+
resp.items.map do |item|
|
331
|
+
type = item.keys.first
|
332
|
+
eval "#{type.to_s.camel_case}.new(item[type], :shallow => #{shallow})"
|
333
|
+
end
|
334
|
+
else
|
335
|
+
raise EwsError, "Could not retrieve items. #{resp.code}: #{resp.message}"
|
336
|
+
end
|
337
|
+
end
|
338
|
+
|
339
|
+
|
315
340
|
# Syncronize Items in this folder. If this method is issued multiple
|
316
341
|
# times it will continue where the last sync completed.
|
317
342
|
# @param [Integer] sync_amount The number of items to synchronize per sync
|
data/lib/model/item.rb
CHANGED
@@ -62,16 +62,16 @@ module Viewpoint
|
|
62
62
|
{:id => resp.items.first[:attachment_id][:root_item_id], :change_key => resp.items.first[:attachment_id][:root_item_change_key]}
|
63
63
|
end
|
64
64
|
|
65
|
-
attr_reader :item_id, :change_key
|
65
|
+
attr_reader :item_id, :change_key, :parent_folder_id
|
66
66
|
alias :id :item_id
|
67
67
|
|
68
68
|
# Initialize an Exchange Web Services item
|
69
69
|
# @param [Hash] ews_item A hash representing this item
|
70
70
|
# @param [Boolean] shallow Whether or not we have retrieved all the elements for this object
|
71
|
-
def initialize(ews_item,
|
71
|
+
def initialize(ews_item, opts={})
|
72
72
|
super() # Calls initialize in Model (creates @ews_methods Array)
|
73
73
|
@ews_item = ews_item
|
74
|
-
@shallow = shallow
|
74
|
+
@shallow = opts.has_key?(:shallow) ? opts[:shallow] : true
|
75
75
|
@item_id = ews_item[:item_id][:id]
|
76
76
|
@change_key = ews_item[:item_id][:change_key]
|
77
77
|
@text_only = false
|
data/lib/model/message.rb
CHANGED
data/lib/model/task.rb
CHANGED
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: viewpoint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.1.
|
5
|
+
version: 0.1.23
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Dan Wanek
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-04-
|
13
|
+
date: 2011-04-27 00:00:00 -05:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|