viewpoint 0.1.9 → 0.1.10

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/Rakefile DELETED
@@ -1,79 +0,0 @@
1
- require 'rubygems'
2
- require 'rake/clean'
3
- require 'rake/gempackagetask'
4
- require 'date'
5
- require 'metric_fu'
6
-
7
- CLEAN.include("pkg")
8
- CLEAN.include("doc")
9
-
10
- GEMSPEC = Gem::Specification.new do |gem|
11
- gem.name = "viewpoint"
12
- gem.version = File.open('VERSION').readline.chomp
13
- gem.date = Date.today.to_s
14
- gem.platform = Gem::Platform::RUBY
15
- gem.rubyforge_project = nil
16
-
17
- gem.author = "Dan Wanek"
18
- gem.email = "dan.wanek@gmail.com"
19
- gem.homepage = "http://github.com/zenchild/Viewpoint"
20
-
21
- gem.summary = "A Ruby client access library for Microsoft Exchange Web Services (EWS)"
22
- gem.description = <<-EOF
23
- A Ruby client access library for Microsoft Exchange Web Services (EWS). Examples can be found here: http://distributed-frostbite.blogspot.com
24
- EOF
25
-
26
- gem.files = `git ls-files`.split(/\n/)
27
- gem.require_path = "lib"
28
- gem.rdoc_options = %w(-x test/ -x examples/)
29
- gem.extra_rdoc_files = %w(README COPYING.txt)
30
-
31
- gem.required_ruby_version = '>= 1.8.7'
32
- gem.add_runtime_dependency 'handsoap'
33
- gem.add_runtime_dependency 'nokogiri'
34
- gem.add_runtime_dependency 'httpclient'
35
- gem.add_runtime_dependency 'rubyntlm'
36
- gem.add_runtime_dependency 'icalendar', '>= 1.1.5'
37
- gem.add_runtime_dependency 'mail', '>= 2.2.5'
38
- end
39
-
40
- Rake::GemPackageTask.new(GEMSPEC) do |pkg|
41
- pkg.need_tar = true
42
- end
43
-
44
- task :default => [:buildgem]
45
-
46
- desc "Build the gem without a version change"
47
- task :buildgem => [:clean, :repackage]
48
-
49
- desc "Build the gem, but increment the version first"
50
- task :newrelease => [:versionup, :clean, :repackage]
51
-
52
-
53
- desc "Increment the version by 1 minor release"
54
- task :versionup do
55
- ver = up_min_version
56
- puts "New version: #{ver}"
57
- end
58
-
59
-
60
- def up_min_version
61
- f = File.open('VERSION', 'r+')
62
- ver = f.readline.chomp
63
- v_arr = ver.split(/\./).map do |v|
64
- v.to_i
65
- end
66
- v_arr[2] += 1
67
- ver = v_arr.join('.')
68
- f.rewind
69
- f.write(ver)
70
- ver
71
- end
72
-
73
- MetricFu::Configuration.run do |config|
74
- #define which metrics you want to use
75
- # config.metrics = [:churn, :saikuro, :stats, :flog, :flay]
76
- config.metrics = [:flog, :flay]
77
- config.graphs = [:flog, :flay]
78
- end
79
-
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.1.9
data/preamble DELETED
@@ -1,19 +0,0 @@
1
- #############################################################################
2
- # Copyright © 2010 Dan Wanek <dan.wanek@gmail.com>
3
- #
4
- #
5
- # This file is part of Viewpoint.
6
- #
7
- # Viewpoint is free software: you can redistribute it and/or
8
- # modify it under the terms of the GNU General Public License as published
9
- # by the Free Software Foundation, either version 3 of the License, or (at
10
- # your option) any later version.
11
- #
12
- # Viewpoint is distributed in the hope that it will be useful,
13
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
15
- # Public License for more details.
16
- #
17
- # You should have received a copy of the GNU General Public License along
18
- # with Viewpoint. If not, see <http://www.gnu.org/licenses/>.
19
- #############################################################################
@@ -1,7 +0,0 @@
1
- spec/basic_functions.spec
2
- spec/item_tests.spec
3
- spec/folder_subscriptions.spec
4
- spec/folder_synchronization.spec
5
- --format
6
- nested
7
- --color
@@ -1,69 +0,0 @@
1
- $: << File.dirname(__FILE__) + '/../../lib/'
2
- require 'kconv'
3
- require 'viewpoint'
4
- require 'json'
5
-
6
- # To run this test put a file called 'creds.json' in this directory with the following format:
7
- # {"user":"myuser","pass":"mypass","endpoint":"https://mydomain.com/ews/exchange.asmx"}
8
-
9
-
10
- describe "Test the basic features of Viewpoint" do
11
- before(:all) do
12
- creds = JSON.load(File.open('spec/creds.json','r'))
13
- Viewpoint::EWS::EWS.endpoint = creds['endpoint']
14
- Viewpoint::EWS::EWS.set_auth(creds['user'],creds['pass'])
15
- @ews = Viewpoint::EWS::EWS.instance
16
- end
17
-
18
- it 'should retrieve the various Folder Types' do
19
- (Viewpoint::EWS::GenericFolder.get_folder :inbox).should be_instance_of(Viewpoint::EWS::Folder)
20
- (Viewpoint::EWS::GenericFolder.get_folder :calendar).should be_instance_of(Viewpoint::EWS::CalendarFolder)
21
- (Viewpoint::EWS::GenericFolder.get_folder :contacts).should be_instance_of(Viewpoint::EWS::ContactsFolder)
22
- (Viewpoint::EWS::GenericFolder.get_folder :tasks).should be_instance_of(Viewpoint::EWS::TasksFolder)
23
- end
24
-
25
- it 'should retrive the Inbox by name' do
26
- (Viewpoint::EWS::GenericFolder.get_folder_by_name 'Inbox').should be_instance_of(Viewpoint::EWS::Folder)
27
- end
28
-
29
- it 'should retrive the Inbox by FolderId' do
30
- inbox = Viewpoint::EWS::GenericFolder.get_folder_by_name 'Inbox'
31
- (Viewpoint::EWS::GenericFolder.get_folder inbox.id).should be_instance_of(Viewpoint::EWS::Folder)
32
- end
33
-
34
- it 'should retrieve an Array of Folder Types' do
35
- flds = Viewpoint::EWS::GenericFolder.find_folders
36
- flds.should be_instance_of(Array)
37
- flds.first.should be_kind_of(Viewpoint::EWS::GenericFolder)
38
- end
39
-
40
- it 'should retrieve messages from a mail folder' do
41
- inbox = Viewpoint::EWS::GenericFolder.get_folder :inbox
42
- msgs = inbox.find_items
43
- msgs.should be_instance_of(Array)
44
- if(msgs.length > 0)
45
- msgs.first.should be_kind_of(Viewpoint::EWS::Item)
46
- end
47
- end
48
-
49
- it 'should retrieve an item by id if one exists' do
50
- inbox = Viewpoint::EWS::GenericFolder.get_folder :inbox
51
- msgs = inbox.find_items
52
- if(msgs.length > 0)
53
- item = inbox.get_item(msgs.first.id)
54
- item.should be_kind_of(Viewpoint::EWS::Item)
55
- else
56
- msgs.should be_empty
57
- end
58
- end
59
-
60
- it 'should retrieve a folder by name' do
61
- inbox = Viewpoint::EWS::GenericFolder.get_folder_by_name("Inbox")
62
- inbox.should be_instance_of(Viewpoint::EWS::Folder)
63
- end
64
-
65
- it 'should retrieve a list of folder names' do
66
- Viewpoint::EWS::GenericFolder.folder_names.should_not be_empty
67
- end
68
-
69
- end
@@ -1,35 +0,0 @@
1
- $: << File.dirname(__FILE__) + '/../../lib/'
2
- require 'kconv'
3
- require 'viewpoint'
4
- require 'json'
5
-
6
- # To run this test put a file called 'creds.json' in this directory with the following format:
7
- # {"user":"myuser","pass":"mypass","endpoint":"https://mydomain.com/ews/exchange.asmx"}
8
-
9
-
10
- describe "Folder Subscriptions" do
11
- before(:all) do
12
- creds = JSON.load(File.open('spec/creds.json','r'))
13
- Viewpoint::EWS::EWS.endpoint = creds['endpoint']
14
- Viewpoint::EWS::EWS.set_auth(creds['user'],creds['pass'])
15
- @ews = Viewpoint::EWS::EWS.instance
16
- @inbox = Viewpoint::EWS::GenericFolder.get_folder :inbox
17
- end
18
-
19
- describe "Example Folder Subscription for the Inbox" do
20
-
21
- it 'should subscribe to the Inbox Folder' do
22
- @inbox.subscribe.should be_true
23
- end
24
-
25
- it 'should retrieve new subscription events' do
26
- @inbox.get_events.should_not be_empty
27
- end
28
-
29
- it 'should unsubscribe to the Inbox Folder' do
30
- @inbox.unsubscribe.should be_true
31
- end
32
-
33
- end
34
-
35
- end
@@ -1,36 +0,0 @@
1
- $: << File.dirname(__FILE__) + '/../../lib/'
2
- require 'kconv'
3
- require 'viewpoint'
4
- require 'json'
5
-
6
- # To run this test put a file called 'creds.json' in this directory with the following format:
7
- # {"user":"myuser","pass":"mypass","endpoint":"https://mydomain.com/ews/exchange.asmx"}
8
-
9
-
10
- describe "Folder Synchronization" do
11
- before(:all) do
12
- creds = JSON.load(File.open('spec/creds.json','r'))
13
- Viewpoint::EWS::EWS.endpoint = creds['endpoint']
14
- Viewpoint::EWS::EWS.set_auth(creds['user'],creds['pass'])
15
- @ews = Viewpoint::EWS::EWS.instance
16
- @inbox = Viewpoint::EWS::GenericFolder.get_folder :inbox
17
- end
18
-
19
- describe "An unsynchronized Inbox Folder" do
20
- after(:all) do
21
- @inbox.clear_sync_state!
22
- end
23
-
24
- it 'should start synchronization of the Inbox Folder' do
25
- @inbox.sync_items!(2)
26
- @inbox.sync_state.should_not be_nil
27
- end
28
-
29
- it 'should synchronized to a given DateTime' do
30
- @inbox.sync_items_since!(DateTime.parse((Date.today - 1).to_s))
31
- @inbox.sync_state.should_not be_nil
32
- end
33
-
34
- end
35
-
36
- end
@@ -1,44 +0,0 @@
1
- $: << File.dirname(__FILE__) + '/../../lib/'
2
- require 'kconv'
3
- require 'viewpoint'
4
- require 'json'
5
-
6
- # To run this test put a file called 'creds.json' in this directory with the following format:
7
- # {"user":"myuser","pass":"mypass","endpoint":"https://mydomain.com/ews/exchange.asmx"}
8
-
9
-
10
- describe "Test the basic functionality of Items" do
11
- before(:all) do
12
- creds = JSON.load(File.open('spec/creds.json','r'))
13
- Viewpoint::EWS::EWS.endpoint = creds['endpoint']
14
- Viewpoint::EWS::EWS.set_auth(creds['user'],creds['pass'])
15
- @ews = Viewpoint::EWS::EWS.instance
16
- end
17
-
18
- it 'should create a new Message Item (with attachments) that we can test with.' do
19
- f = File.open(File.expand_path(__FILE__), 'r+')
20
- $message = Viewpoint::EWS::Message.send('RSPEC test subject', 'RSPEC test body', [@ews.me.email_address],nil,nil,[f],true)
21
- $message.should be_instance_of(Viewpoint::EWS::Message)
22
- end
23
-
24
- it 'should move the Message Item to the Inbox folder' do
25
- inbox = Viewpoint::EWS::GenericFolder.get_folder :inbox
26
- $message.move!(inbox).should be_true
27
- end
28
- it 'should copy the Message Item to the Drafts folder' do
29
- drafts = Viewpoint::EWS::GenericFolder.get_folder :drafts
30
- $msg_copy = $message.copy(drafts)
31
- $msg_copy.should be_instance_of(Viewpoint::EWS::Message)
32
- end
33
-
34
- describe "Clean up after ourselves." do
35
- it 'should delete the initial Message' do
36
- $message.delete!.should be_true
37
- end
38
-
39
- it 'should send the copy message to Deleted Items' do
40
- $msg_copy.recycle!.should be_true
41
- end
42
- end
43
-
44
- end
@@ -1,29 +0,0 @@
1
- require 'rubygems'
2
- require 'nokogiri'
3
-
4
- wsdl = Nokogiri::XML(File.read('Services.wsdl'))
5
-
6
- methods = []
7
-
8
- wsdl.xpath('//wsdl:binding/wsdl:operation').each do |op|
9
- meth_name = op[:name].gsub(/([a-z])([A-Z])/, '\1_\2').downcase
10
- methods << meth_name
11
- str = " def #{meth_name}\n"
12
- str << " action = '#{op.xpath('soap:operation').first[:soapAction]}'\n"
13
- str << " resp = invoke('tns:#{op[:name]}', :soap_action => action) do |#{meth_name}|\n"
14
- str << " build_#{meth_name}!(#{meth_name})\n"
15
- str << " end\n"
16
- str << " parse_#{meth_name}(resp)\n"
17
- str << " end\n\n"
18
- puts str
19
- end
20
-
21
- puts "\n\n ## Helper methods (builders and parsers)\n"
22
- puts " private\n\n"
23
- methods.each do |meth|
24
- str = " def build_#{meth}!(#{meth})\n"
25
- str << " end\n\n"
26
- str << " def parse_#{meth}()\n"
27
- str << " end\n\n"
28
- puts str
29
- end