viewpoint 0.0.5 → 0.1.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 (59) hide show
  1. data/README +84 -45
  2. data/Rakefile +7 -5
  3. data/TODO +6 -0
  4. data/VERSION +1 -1
  5. data/lib/exceptions/exceptions.rb +34 -0
  6. data/lib/extensions/string.rb +37 -0
  7. data/lib/model/calendar_folder.rb +45 -0
  8. data/lib/model/calendar_item.rb +145 -0
  9. data/lib/model/contact.rb +58 -0
  10. data/lib/model/contacts_folder.rb +35 -0
  11. data/lib/model/distribution_list.rb +26 -0
  12. data/lib/model/event.rb +118 -0
  13. data/lib/model/folder.rb +36 -0
  14. data/lib/model/generic_folder.rb +302 -0
  15. data/lib/model/item.rb +126 -0
  16. data/lib/model/mailbox_user.rb +107 -0
  17. data/lib/model/meeting_cancellation.rb +28 -0
  18. data/lib/{viewpoint/errors.rb → model/meeting_message.rb} +10 -14
  19. data/lib/model/meeting_request.rb +26 -0
  20. data/lib/model/meeting_response.rb +26 -0
  21. data/lib/model/message.rb +73 -0
  22. data/lib/model/model.rb +161 -0
  23. data/lib/model/search_folder.rb +36 -0
  24. data/lib/model/task.rb +62 -0
  25. data/lib/model/task_list.rb +19 -0
  26. data/lib/model/tasks_folder.rb +33 -0
  27. data/lib/soap/handsoap/builder.rb +22 -0
  28. data/lib/soap/handsoap/builders/ews_build_helpers.rb +317 -0
  29. data/lib/soap/handsoap/builders/ews_builder.rb +86 -0
  30. data/lib/soap/handsoap/ews_service.rb +646 -0
  31. data/lib/soap/handsoap/parser.rb +106 -0
  32. data/lib/soap/handsoap/parsers/ews_parser.rb +165 -0
  33. data/lib/soap/soap_provider.rb +75 -0
  34. data/lib/viewpoint.rb +98 -3
  35. data/preamble +1 -1
  36. data/test/spec/basic_functions.spec +51 -0
  37. data/test/spec/folder_subscriptions.spec +35 -0
  38. data/test/spec/folder_synchronization.spec +28 -0
  39. data/utils/ewsWSDL2rb.rb +29 -0
  40. metadata +101 -43
  41. data/lib/exchwebserv.rb +0 -6
  42. data/lib/soap/viewpoint.conf +0 -3
  43. data/lib/viewpoint/calendar.rb +0 -128
  44. data/lib/viewpoint/calendar_item.rb +0 -118
  45. data/lib/viewpoint/event.rb +0 -0
  46. data/lib/viewpoint/exchange_headers.rb +0 -49
  47. data/lib/viewpoint/exchwebserv.rb +0 -236
  48. data/lib/viewpoint/folder.rb +0 -358
  49. data/lib/viewpoint/item.rb +0 -101
  50. data/lib/viewpoint/mail.rb +0 -117
  51. data/lib/viewpoint/message.rb +0 -132
  52. data/lib/viewpoint/task.rb +0 -0
  53. data/lib/viewpoint/tasks.rb +0 -0
  54. data/lib/wsdl/defaultMappingRegistry.rb +0 -10680
  55. data/lib/wsdl/exchangeServiceBinding.rb +0 -349
  56. data/lib/wsdl/exchangeServiceTypes.rb +0 -11013
  57. data/test/spec/basic_features_spec.rb +0 -37
  58. data/test/test_client.rb +0 -13
  59. data/test/testrestrict.rb +0 -75
@@ -1,37 +0,0 @@
1
- $: << File.dirname(__FILE__) + '/../../lib/'
2
- require 'viewpoint'
3
-
4
- describe "Test the basic features of Viewpoint" do
5
- before(:all) do
6
- @vp = Viewpoint::ExchWebServ.instance
7
- end
8
-
9
- it "should have set authenticated to true" do
10
- @vp.authenticate.should be_true
11
- end
12
-
13
- it "should find all the EWS folders" do
14
- @vp.find_folders.should be_an_instance_of(Hash)
15
- end
16
-
17
- it "should resolve the name" do
18
- # Most systems have some sort of admin user defined.
19
- # Change this to suit your needs.
20
- name = "admin"
21
- @vp.resolve_name(name).should be_an_instance_of(ResolveNamesResponseMessageType)
22
- end
23
-
24
- it "should retrieve all of todays messages" do
25
- inbox = @vp.get_folder("Inbox")
26
- messages = inbox.get_todays_messages
27
- messages.should be_an_instance_of(Array)
28
- end
29
-
30
- it "should take the last message of the day and output it in rfc822" do
31
- inbox = @vp.get_folder("Inbox")
32
- messages = inbox.get_todays_messages
33
- messages.should be_an_instance_of(Array)
34
- messages.last.to_rfc822.should be_an_instance_of(String)
35
- end
36
- end
37
-
@@ -1,13 +0,0 @@
1
- $: << File.dirname(__FILE__) + '/../lib/'
2
- require 'viewpoint'
3
- $DEBUG = true
4
- vp = Viewpoint::ExchWebServ.instance
5
- vp.authenticate
6
- vp.find_folders
7
- mail = vp.get_folder("Inbox")
8
- msgs = mail.get_todays_messages
9
-
10
- puts "Sender | Subject | Recieved"
11
- msgs.each do |msg|
12
- puts "#{msg.sender} | #{msg.subject} |#{msg.date_time_recieved}"
13
- end
@@ -1,75 +0,0 @@
1
- require 'rubygems'
2
- gem 'soap4r'
3
- require File.dirname(__FILE__) + '/../lib/exchwebserv'
4
- require File.dirname(__FILE__) + '/../lib/wsdl/exchangeServiceBinding'
5
- include Viewpoint
6
-
7
- $DEBUG = true
8
-
9
- vp = ExchWebServ.instance
10
- vp.authenticate
11
- vp.find_folders
12
-
13
- fit = FindItemType.new
14
- fit.xmlattr_Traversal = ItemQueryTraversalType::Shallow
15
- fit.itemShape = ItemResponseShapeType.new(DefaultShapeNamesType::Default, false)
16
-
17
- fid = NonEmptyArrayOfBaseFolderIdsType.new()
18
- fidt = DistinguishedFolderIdType.new
19
- fidt.xmlattr_Id = DistinguishedFolderIdNameType::Calendar
20
- fid.distinguishedFolderId = fidt
21
- fit.parentFolderIds = fid
22
-
23
- cal_span = CalendarViewType.new
24
- cal_span.xmlattr_StartDate = DateTime.parse(Date.today.to_s).to_s
25
- cal_span.xmlattr_EndDate = DateTime.parse(Date.today.next.to_s).to_s
26
- fit.calendarView = cal_span
27
-
28
-
29
- # Set up restriction
30
- # Filter by a "Contains" expression
31
- =begin
32
- rt = RestrictionType.new
33
- se = ContainsExpressionType.new
34
- fielduri = PathToUnindexedFieldType.new
35
- fielduri.xmlattr_FieldURI = "item:Subject"
36
- #const = FieldURIOrConstantType.new
37
- c = ConstantValueType.new
38
- c.xmlattr_Value = "Systems"
39
- #const.constant = c
40
- se.path = fielduri
41
- se.constant = c
42
- se.xmlattr_ContainmentMode = "Substring"
43
- rt.containsExpression = se
44
- =end
45
-
46
-
47
- # Filter by when Item was received
48
- =begin
49
- rt = RestrictionType.new
50
- se = IsGreaterThanType.new
51
- fielduri = PathToUnindexedFieldType.new
52
- fielduri.xmlattr_FieldURI = UnindexedFieldURIType::ItemDateTimeReceived
53
- const = FieldURIOrConstantType.new
54
- c = ConstantValueType.new
55
- c.xmlattr_Value = (DateTime.now - 2).new_offset(0).to_s
56
- const.constant = c
57
- se.path = fielduri
58
- se.fieldURIOrConstant = const
59
- rt.isGreaterThan = se
60
- =end
61
-
62
-
63
- # Filter by a simple "Exists" expression
64
- =begin
65
- rt = RestrictionType.new
66
- se = ExistsType.new
67
- fielduri = PathToUnindexedFieldType.new
68
- fielduri.xmlattr_FieldURI="item:Subject"
69
- se.path = fielduri
70
- rt.exists = se
71
- =end
72
-
73
-
74
-
75
- vp.ews.findItem(fit)