rews 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (7) hide show
  1. data/.travis.yml +4 -0
  2. data/README.md +71 -0
  3. data/Rakefile +14 -2
  4. data/VERSION +1 -1
  5. data/rews.gemspec +92 -0
  6. metadata +30 -23
  7. data/README.rdoc +0 -72
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ script: "rake"
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
data/README.md ADDED
@@ -0,0 +1,71 @@
1
+ rews [![Build Status](http://travis-ci.org/trampoline/rews.png)](http://travis-ci.org/trampoline/rews)
2
+ ====
3
+
4
+ Rews is a simple Ruby client for Exchange Web Services
5
+
6
+ Install
7
+ -------
8
+
9
+ gem install rews
10
+
11
+ About
12
+ -----
13
+
14
+ * Find, Get and Delete of Items and Folders is supported.
15
+ * Filtering, ordering, and arbitrary property retrieval are supported.
16
+ * Bulk operations are supported
17
+ * Runs on both CRuby and JRuby
18
+
19
+ Method names generally follow the Exchange Web Services API
20
+ http://msdn.microsoft.com/en-us/library/bb409286(EXCHG.140).aspx
21
+
22
+ It has been tested against
23
+
24
+ * Exchange 2007 SP1 (Version 8.1, Build 240.6)
25
+ * Exchange 2010 SP1 (Version 14.1, Build 218.15)
26
+
27
+ Use
28
+ ---
29
+
30
+ # create a client
31
+ c = Rews::Client.new("https://exchange.bar.com/EWS/Exchange.asmx", :ntlm, 'EXCHDOM\foo', 'password')
32
+
33
+ # find a distinguished folder from one of the mailboxes the user has permissions for
34
+ inbox=c.distinguished_folder_id('inbox', 'foo@bar.com')
35
+
36
+ # find some message_ids,
37
+ mids = inbox.find_item_id(:restriction=>[:<=, "item:DateTimeReceived",DateTime.now],
38
+ :sort_order=>[["item:DateTimeReceived", "Ascending"]],
39
+ :indexed_page_item_view=>{:max_entries_returned=>10, :offset=>0})
40
+
41
+ # get some properties for a bunch of messages in one hit
42
+ messages = c.get_item(mids, :item_shape=>{
43
+ :base_shape=>:IdOnly,
44
+ :additional_properties=>[
45
+ [:field_uri, "item:Subject"],
46
+ [:field_uri, "item:DateTimeReceived"],
47
+ [:field_uri, "message:InternetMessageId"],
48
+ [:field_uri, "message:IsRead"],
49
+ [:field_uri, "message:IsReadReceiptRequested"]]})
50
+
51
+ # suppress read receipts on any messages which have requested them
52
+ c.suppress_read_receipt(messages)
53
+
54
+ # delete the items to the DeletedItems folder
55
+ c.delete_item(mids, :delete_type=>:MoveToDeletedItems)
56
+
57
+ Note on Patches/Pull Requests
58
+ -----------------------------
59
+
60
+ * Fork the project.
61
+ * Make your feature addition or bug fix.
62
+ * Add tests for it. This is important so I don't break it in a
63
+ future version unintentionally.
64
+ * Commit, do not mess with rakefile, version, or history.
65
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
66
+ * Send me a pull request. Bonus points for topic branches.
67
+
68
+ Copyright
69
+ ---------
70
+
71
+ Copyright (c) 2011 Trampoline Systems Ltd. See LICENSE for details.
data/Rakefile CHANGED
@@ -1,6 +1,17 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
3
 
4
+ begin
5
+ require "yard"
6
+
7
+ YARD::Rake::YardocTask.new do |t|
8
+ t.files = ["README.md", "lib/**/*.rb"]
9
+ end
10
+ rescue LoadError
11
+ desc message = %{"gem install yard" to generate documentation}
12
+ task("yard") { abort message }
13
+ end
14
+
4
15
  begin
5
16
  require 'jeweler'
6
17
  Jeweler::Tasks.new do |gem|
@@ -15,13 +26,14 @@ begin
15
26
  gem.add_runtime_dependency "pyu-ntlm-http", ">= 0.1.3"
16
27
  gem.add_runtime_dependency "fetch_in", ">= 0.2.0"
17
28
  gem.add_runtime_dependency "rsxml", ">= 0.3.0"
18
- gem.add_development_dependency "rspec", ">= 1.2.9"
29
+ gem.add_development_dependency "rspec", "~> 1.3.1"
19
30
  gem.add_development_dependency "rr", ">= 0.10.5"
20
31
  gem.add_development_dependency "nokogiri", ">= 1.4.4"
32
+ gem.add_development_dependency "yard", ">= 0.7.1"
21
33
 
22
34
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
23
35
  end
24
- Jeweler::GemcutterTasks.new
36
+ Jeweler::RubygemsDotOrgTasks.new
25
37
  rescue LoadError
26
38
  puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
27
39
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.3
1
+ 0.5.4
data/rews.gemspec ADDED
@@ -0,0 +1,92 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{rews}
8
+ s.version = "0.5.4"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Trampoline Systems Ltd"]
12
+ s.date = %q{2011-06-01}
13
+ s.description = %q{an email focussed Ruby client for Exchange Web Services atop Savon}
14
+ s.email = %q{craig@trampolinesystems.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.md"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".travis.yml",
22
+ "LICENSE",
23
+ "README.md",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "lib/rews.rb",
27
+ "lib/rews/client.rb",
28
+ "lib/rews/folder.rb",
29
+ "lib/rews/item.rb",
30
+ "lib/rews/restriction.rb",
31
+ "lib/rews/shape.rb",
32
+ "lib/rews/sort_order.rb",
33
+ "lib/rews/update.rb",
34
+ "lib/rews/util.rb",
35
+ "lib/rews/view.rb",
36
+ "rews.gemspec",
37
+ "spec/request_proxy.rb",
38
+ "spec/rews/client_spec.rb",
39
+ "spec/rews/folder_spec.rb",
40
+ "spec/rews/item_spec.rb",
41
+ "spec/rews/restriction_spec.rb",
42
+ "spec/rews/shape_spec.rb",
43
+ "spec/rews/sort_order_spec.rb",
44
+ "spec/rews/update_spec.rb",
45
+ "spec/rews/util_spec.rb",
46
+ "spec/rews/view_spec.rb",
47
+ "spec/rews_spec.rb",
48
+ "spec/spec.opts",
49
+ "spec/spec_helper.rb"
50
+ ]
51
+ s.homepage = %q{http://github.com/trampoline/rews}
52
+ s.require_paths = ["lib"]
53
+ s.rubygems_version = %q{1.6.2}
54
+ s.summary = %q{a Ruby client for Exchange Web Services}
55
+
56
+ if s.respond_to? :specification_version then
57
+ s.specification_version = 3
58
+
59
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
60
+ s.add_runtime_dependency(%q<savon>, ["= 0.9.1"])
61
+ s.add_runtime_dependency(%q<httpclient>, [">= 2.2.0.2"])
62
+ s.add_runtime_dependency(%q<pyu-ntlm-http>, [">= 0.1.3"])
63
+ s.add_runtime_dependency(%q<fetch_in>, [">= 0.2.0"])
64
+ s.add_runtime_dependency(%q<rsxml>, [">= 0.3.0"])
65
+ s.add_development_dependency(%q<rspec>, ["~> 1.3.1"])
66
+ s.add_development_dependency(%q<rr>, [">= 0.10.5"])
67
+ s.add_development_dependency(%q<nokogiri>, [">= 1.4.4"])
68
+ s.add_development_dependency(%q<yard>, [">= 0.7.1"])
69
+ else
70
+ s.add_dependency(%q<savon>, ["= 0.9.1"])
71
+ s.add_dependency(%q<httpclient>, [">= 2.2.0.2"])
72
+ s.add_dependency(%q<pyu-ntlm-http>, [">= 0.1.3"])
73
+ s.add_dependency(%q<fetch_in>, [">= 0.2.0"])
74
+ s.add_dependency(%q<rsxml>, [">= 0.3.0"])
75
+ s.add_dependency(%q<rspec>, ["~> 1.3.1"])
76
+ s.add_dependency(%q<rr>, [">= 0.10.5"])
77
+ s.add_dependency(%q<nokogiri>, [">= 1.4.4"])
78
+ s.add_dependency(%q<yard>, [">= 0.7.1"])
79
+ end
80
+ else
81
+ s.add_dependency(%q<savon>, ["= 0.9.1"])
82
+ s.add_dependency(%q<httpclient>, [">= 2.2.0.2"])
83
+ s.add_dependency(%q<pyu-ntlm-http>, [">= 0.1.3"])
84
+ s.add_dependency(%q<fetch_in>, [">= 0.2.0"])
85
+ s.add_dependency(%q<rsxml>, [">= 0.3.0"])
86
+ s.add_dependency(%q<rspec>, ["~> 1.3.1"])
87
+ s.add_dependency(%q<rr>, [">= 0.10.5"])
88
+ s.add_dependency(%q<nokogiri>, [">= 1.4.4"])
89
+ s.add_dependency(%q<yard>, [">= 0.7.1"])
90
+ end
91
+ end
92
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rews
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 3
10
- version: 0.5.3
9
+ - 4
10
+ version: 0.5.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Trampoline Systems Ltd
@@ -105,14 +105,14 @@ dependencies:
105
105
  requirement: &id006 !ruby/object:Gem::Requirement
106
106
  none: false
107
107
  requirements:
108
- - - ">="
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
- hash: 13
110
+ hash: 25
111
111
  segments:
112
112
  - 1
113
- - 2
114
- - 9
115
- version: 1.2.9
113
+ - 3
114
+ - 1
115
+ version: 1.3.1
116
116
  type: :development
117
117
  version_requirements: *id006
118
118
  - !ruby/object:Gem::Dependency
@@ -147,6 +147,22 @@ dependencies:
147
147
  version: 1.4.4
148
148
  type: :development
149
149
  version_requirements: *id008
150
+ - !ruby/object:Gem::Dependency
151
+ name: yard
152
+ prerelease: false
153
+ requirement: &id009 !ruby/object:Gem::Requirement
154
+ none: false
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ hash: 1
159
+ segments:
160
+ - 0
161
+ - 7
162
+ - 1
163
+ version: 0.7.1
164
+ type: :development
165
+ version_requirements: *id009
150
166
  description: an email focussed Ruby client for Exchange Web Services atop Savon
151
167
  email: craig@trampolinesystems.com
152
168
  executables: []
@@ -155,11 +171,12 @@ extensions: []
155
171
 
156
172
  extra_rdoc_files:
157
173
  - LICENSE
158
- - README.rdoc
174
+ - README.md
159
175
  files:
160
176
  - .document
177
+ - .travis.yml
161
178
  - LICENSE
162
- - README.rdoc
179
+ - README.md
163
180
  - Rakefile
164
181
  - VERSION
165
182
  - lib/rews.rb
@@ -172,6 +189,7 @@ files:
172
189
  - lib/rews/update.rb
173
190
  - lib/rews/util.rb
174
191
  - lib/rews/view.rb
192
+ - rews.gemspec
175
193
  - spec/request_proxy.rb
176
194
  - spec/rews/client_spec.rb
177
195
  - spec/rews/folder_spec.rb
@@ -219,16 +237,5 @@ rubygems_version: 1.6.2
219
237
  signing_key:
220
238
  specification_version: 3
221
239
  summary: a Ruby client for Exchange Web Services
222
- test_files:
223
- - spec/request_proxy.rb
224
- - spec/rews/client_spec.rb
225
- - spec/rews/folder_spec.rb
226
- - spec/rews/item_spec.rb
227
- - spec/rews/restriction_spec.rb
228
- - spec/rews/shape_spec.rb
229
- - spec/rews/sort_order_spec.rb
230
- - spec/rews/update_spec.rb
231
- - spec/rews/util_spec.rb
232
- - spec/rews/view_spec.rb
233
- - spec/rews_spec.rb
234
- - spec/spec_helper.rb
240
+ test_files: []
241
+
data/README.rdoc DELETED
@@ -1,72 +0,0 @@
1
- = rews
2
-
3
- Rews is a simple Ruby client for Exchange Web Services
4
-
5
- * Find, Get and Delete of Items and Folders is supported.
6
- * Filtering, ordering, and arbitrary property retrieval are supported.
7
- * Bulk operations are supported
8
- * Runs on both CRuby and JRuby
9
-
10
- Method names generally follow the Exchange Web Services API
11
- http://msdn.microsoft.com/en-us/library/bb409286(EXCHG.140).aspx
12
-
13
- It has been tested against
14
-
15
- * Exchange 2007 SP1 (Version 8.1, Build 240.6)
16
- * Exchange 2010 SP1 (Version 14.1, Build 218.15)
17
-
18
- to use :
19
-
20
- # create a client
21
- c = Rews::Client.new("https://exchange.bar.com/EWS/Exchange.asmx", :ntlm, 'EXCHDOM\foo', 'password')
22
-
23
- # find a distinguished folder from one of the mailboxes the user has permissions for
24
- inbox=c.distinguished_folder_id('inbox', 'foo@bar.com')
25
-
26
- # find some message_ids,
27
- mids = inbox.find_item_id(:restriction=>[:<=, "item:DateTimeReceived",DateTime.now],
28
- :sort_order=>[["item:DateTimeReceived", "Ascending"]],
29
- :indexed_page_item_view=>{:max_entries_returned=>10, :offset=>0})
30
-
31
- # get some properties for a bunch of messages in one hit
32
- messages = c.get_item(mids, :item_shape=>{
33
- :base_shape=>:IdOnly,
34
- :additional_properties=>[
35
- [:field_uri, "item:Subject"],
36
- [:field_uri, "item:DateTimeReceived"],
37
- [:field_uri, "message:InternetMessageId"],
38
- [:field_uri, "message:IsRead"],
39
- [:field_uri, "message:IsReadReceiptRequested"]]})
40
-
41
- # suppress read receipts on any messages which have requested them
42
- c.suppress_read_receipt(messages)
43
-
44
- # delete the items to the DeletedItems folder
45
- c.delete_item(mids, :delete_type=>:MoveToDeletedItems)
46
-
47
- == Install
48
-
49
- slightly painful : because of bugs in released versions of gems relating to NTLM authentication, you need
50
- versions of ntlm-http gem with fixes :
51
-
52
- * ntlm-http v0.1.3 : branch fix_ntlm_domain from: https://github.com/trampoline/ntlm-http/tree/new-version-0.1.2.1
53
-
54
- also, httpclient >= 2.1.7 is supported
55
-
56
- then:
57
-
58
- gem install rews
59
-
60
- == Note on Patches/Pull Requests
61
-
62
- * Fork the project.
63
- * Make your feature addition or bug fix.
64
- * Add tests for it. This is important so I don't break it in a
65
- future version unintentionally.
66
- * Commit, do not mess with rakefile, version, or history.
67
- (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
68
- * Send me a pull request. Bonus points for topic branches.
69
-
70
- == Copyright
71
-
72
- Copyright (c) 2011 Trampoline Systems Ltd. See LICENSE for details.