viewpoint 0.0.5 → 0.1.0

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