imap_archiver 0.0.2 → 0.0.3

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/Gemfile ADDED
@@ -0,0 +1,14 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem 'activesupport', '~> 2.3.8'
4
+ gem 'i18n'
5
+ group :development do
6
+ gem 'rake', '~> 0.8.7'
7
+ gem 'jeweler', '~> 1.5.1'
8
+ gem 'rspec', '~> 2.0.0'
9
+ gem 'cucumber', :git => 'http://github.com/aslakhellesoy/cucumber.git'
10
+ gem 'aruba'
11
+ gem 'mocha'
12
+ gem 'autotest'
13
+ gem 'autotest-growl'
14
+ end
@@ -0,0 +1,59 @@
1
+ GIT
2
+ remote: http://github.com/aslakhellesoy/cucumber.git
3
+ revision: d79ecee
4
+ specs:
5
+ cucumber (0.9.0)
6
+ builder (~> 2.1.2)
7
+ diff-lcs (~> 1.1.2)
8
+ gherkin (~> 2.2.0)
9
+ json_pure (~> 1.4.6)
10
+ term-ansicolor (~> 1.0.5)
11
+
12
+ GEM
13
+ remote: http://rubygems.org/
14
+ specs:
15
+ activesupport (2.3.10)
16
+ aruba (0.2.1)
17
+ autotest (4.3.2)
18
+ autotest-growl (0.2.5)
19
+ builder (2.1.2)
20
+ diff-lcs (1.1.2)
21
+ gherkin (2.2.0)
22
+ trollop (~> 1.16.2)
23
+ git (1.2.5)
24
+ i18n (0.4.1)
25
+ jeweler (1.5.1)
26
+ bundler (~> 1.0.0)
27
+ git (>= 1.2.5)
28
+ rake
29
+ json_pure (1.4.6)
30
+ mocha (0.9.8)
31
+ rake
32
+ rake (0.8.7)
33
+ rspec (2.0.1)
34
+ rspec-core (~> 2.0.1)
35
+ rspec-expectations (~> 2.0.1)
36
+ rspec-mocks (~> 2.0.1)
37
+ rspec-core (2.0.1)
38
+ rspec-expectations (2.0.1)
39
+ diff-lcs (>= 1.1.2)
40
+ rspec-mocks (2.0.1)
41
+ rspec-core (~> 2.0.1)
42
+ rspec-expectations (~> 2.0.1)
43
+ term-ansicolor (1.0.5)
44
+ trollop (1.16.2)
45
+
46
+ PLATFORMS
47
+ ruby
48
+
49
+ DEPENDENCIES
50
+ activesupport (~> 2.3.8)
51
+ aruba
52
+ autotest
53
+ autotest-growl
54
+ cucumber!
55
+ i18n
56
+ jeweler (~> 1.5.1)
57
+ mocha
58
+ rake (~> 0.8.7)
59
+ rspec (~> 2.0.0)
@@ -6,7 +6,7 @@ For every folder that is archived a series of folders (one for each month) is cr
6
6
 
7
7
  == Installing
8
8
  gem install imap_archiver
9
-
9
+
10
10
  == Configuration
11
11
 
12
12
  Create a configuration file in ~/.imap_archiver.rb
@@ -15,18 +15,44 @@ Create a configuration file in ~/.imap_archiver.rb
15
15
  config.imap_server = 'imap.example.com'
16
16
  config.username = 'jellehelsen'
17
17
  config.password = "secret"
18
- config.folders_to_archive = %w(Support Backuplogs)
18
+ config.folders_to_archive = ["Shared Folders/Support" "Shared Folders/Backuplogs" "Shared Folders/Info"]
19
19
  config.archive_folder = 'Archive'
20
20
  config.base_folder = 'Shared Folders' # part to strip of source folder name to get archive folder name
21
21
  config.archive_folder_acl = {'jelle' => 'lrswpcd'}
22
22
  end
23
23
 
24
+ == How it works
25
+
26
+ imap_archiver works by moving messages that are older then 3 months and that have been read and not flagged to a different folder. This helps in cleaning out public folders that get too big to work with.
27
+
28
+ Consider the following folder structure:
29
+ + Shared Folders
30
+ - Support
31
+ - Backuplogs
32
+ - Info
33
+
34
+ Given the configuration above, this would be archive as such:
35
+ + Archive
36
+ - Support
37
+ - Mar 2010
38
+ - Apr 2010
39
+ - ...
40
+ - Backuplogs
41
+ - Mar 2010
42
+ - Apr 2010
43
+ - ...
44
+
24
45
  == Known bugs
25
46
 
26
47
  The documentation is sparse to non-existing.
27
48
  It has only been tested against my own cyrus-imap server and a dovecot test server.
28
49
  For all unknown bugs: file an issue report! Creating a patch yourself helps in getting it fixed quickly.
29
50
 
51
+ == TODO
52
+
53
+ * Make the archive period configurable
54
+ * Make the archive folder name configurable
55
+
30
56
  == Note on Patches/Pull Requests
31
57
 
32
58
  * Fork the project.
data/Rakefile CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'rubygems'
2
2
  require 'rake'
3
+ require "bundler"
3
4
 
4
5
  begin
5
6
  require 'jeweler'
@@ -12,10 +13,7 @@ begin
12
13
  gem.email = "jelle.helsen@hcode.be"
13
14
  gem.homepage = "http://github.com/jellehelsen/imap_archiver"
14
15
  gem.authors = ["Jelle Helsen"]
15
- gem.add_development_dependency "thoughtbot-shoulda", ">= 0"
16
- gem.add_development_dependency "aruba", ">= 0"
17
- gem.add_dependency 'activesupport', '>= 3.0.0'
18
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
16
+ gem.add_bundler_dependencies
19
17
  end
20
18
  Jeweler::GemcutterTasks.new
21
19
  rescue LoadError
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -17,10 +17,10 @@ module ImapArchiver
17
17
  self.connection = Net::IMAP.new(imap_server) rescue nil
18
18
  capability = self.connection.capability rescue nil
19
19
  if capability.detect {|c| c =~ /AUTH=(CRAM|DIGEST)-MD5/}
20
- puts "loging in with #{auth_mech}"
20
+ # puts "loging in with #{auth_mech}"
21
21
  self.connection.authenticate(auth_mech,username,password)
22
22
  else
23
- puts "plain login"
23
+ # puts "plain login"
24
24
  self.connection.login(username,password) rescue nil
25
25
  end
26
26
  end
@@ -2,6 +2,6 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
3
  describe "ImapArchiver" do
4
4
  it "should read the correct version" do
5
- ImapArchiver::Version.should == "0.0.1"
5
+ ImapArchiver::Version.should == "0.0.3"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imap_archiver
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jelle Helsen
@@ -15,13 +15,28 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-09-02 00:00:00 +02:00
18
+ date: 2010-12-17 00:00:00 +01:00
19
19
  default_executable: imap_archiver
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- name: thoughtbot-shoulda
22
+ type: :runtime
23
+ version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 19
29
+ segments:
30
+ - 2
31
+ - 3
32
+ - 8
33
+ version: 2.3.8
23
34
  prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
35
+ name: activesupport
36
+ requirement: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ type: :runtime
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
25
40
  none: false
26
41
  requirements:
27
42
  - - ">="
@@ -30,12 +45,102 @@ dependencies:
30
45
  segments:
31
46
  - 0
32
47
  version: "0"
48
+ prerelease: false
49
+ name: i18n
50
+ requirement: *id002
51
+ - !ruby/object:Gem::Dependency
33
52
  type: :development
34
- version_requirements: *id001
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ~>
57
+ - !ruby/object:Gem::Version
58
+ hash: 49
59
+ segments:
60
+ - 0
61
+ - 8
62
+ - 7
63
+ version: 0.8.7
64
+ prerelease: false
65
+ name: rake
66
+ requirement: *id003
35
67
  - !ruby/object:Gem::Dependency
68
+ type: :development
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ hash: 1
75
+ segments:
76
+ - 1
77
+ - 5
78
+ - 1
79
+ version: 1.5.1
80
+ prerelease: false
81
+ name: jeweler
82
+ requirement: *id004
83
+ - !ruby/object:Gem::Dependency
84
+ type: :development
85
+ version_requirements: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ hash: 15
91
+ segments:
92
+ - 2
93
+ - 0
94
+ - 0
95
+ version: 2.0.0
96
+ prerelease: false
97
+ name: rspec
98
+ requirement: *id005
99
+ - !ruby/object:Gem::Dependency
100
+ type: :development
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ prerelease: false
111
+ name: cucumber
112
+ requirement: *id006
113
+ - !ruby/object:Gem::Dependency
114
+ type: :development
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ hash: 3
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ prerelease: false
36
125
  name: aruba
126
+ requirement: *id007
127
+ - !ruby/object:Gem::Dependency
128
+ type: :development
129
+ version_requirements: &id008 !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ hash: 3
135
+ segments:
136
+ - 0
137
+ version: "0"
37
138
  prerelease: false
38
- requirement: &id002 !ruby/object:Gem::Requirement
139
+ name: mocha
140
+ requirement: *id008
141
+ - !ruby/object:Gem::Dependency
142
+ type: :development
143
+ version_requirements: &id009 !ruby/object:Gem::Requirement
39
144
  none: false
40
145
  requirements:
41
146
  - - ">="
@@ -44,24 +149,171 @@ dependencies:
44
149
  segments:
45
150
  - 0
46
151
  version: "0"
152
+ prerelease: false
153
+ name: autotest
154
+ requirement: *id009
155
+ - !ruby/object:Gem::Dependency
47
156
  type: :development
48
- version_requirements: *id002
157
+ version_requirements: &id010 !ruby/object:Gem::Requirement
158
+ none: false
159
+ requirements:
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ hash: 3
163
+ segments:
164
+ - 0
165
+ version: "0"
166
+ prerelease: false
167
+ name: autotest-growl
168
+ requirement: *id010
49
169
  - !ruby/object:Gem::Dependency
170
+ type: :runtime
171
+ version_requirements: &id011 !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ~>
175
+ - !ruby/object:Gem::Version
176
+ hash: 19
177
+ segments:
178
+ - 2
179
+ - 3
180
+ - 8
181
+ version: 2.3.8
182
+ prerelease: false
50
183
  name: activesupport
184
+ requirement: *id011
185
+ - !ruby/object:Gem::Dependency
186
+ type: :runtime
187
+ version_requirements: &id012 !ruby/object:Gem::Requirement
188
+ none: false
189
+ requirements:
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ hash: 3
193
+ segments:
194
+ - 0
195
+ version: "0"
196
+ prerelease: false
197
+ name: i18n
198
+ requirement: *id012
199
+ - !ruby/object:Gem::Dependency
200
+ type: :development
201
+ version_requirements: &id013 !ruby/object:Gem::Requirement
202
+ none: false
203
+ requirements:
204
+ - - ~>
205
+ - !ruby/object:Gem::Version
206
+ hash: 49
207
+ segments:
208
+ - 0
209
+ - 8
210
+ - 7
211
+ version: 0.8.7
51
212
  prerelease: false
52
- requirement: &id003 !ruby/object:Gem::Requirement
213
+ name: rake
214
+ requirement: *id013
215
+ - !ruby/object:Gem::Dependency
216
+ type: :development
217
+ version_requirements: &id014 !ruby/object:Gem::Requirement
218
+ none: false
219
+ requirements:
220
+ - - ~>
221
+ - !ruby/object:Gem::Version
222
+ hash: 1
223
+ segments:
224
+ - 1
225
+ - 5
226
+ - 1
227
+ version: 1.5.1
228
+ prerelease: false
229
+ name: jeweler
230
+ requirement: *id014
231
+ - !ruby/object:Gem::Dependency
232
+ type: :development
233
+ version_requirements: &id015 !ruby/object:Gem::Requirement
234
+ none: false
235
+ requirements:
236
+ - - ~>
237
+ - !ruby/object:Gem::Version
238
+ hash: 15
239
+ segments:
240
+ - 2
241
+ - 0
242
+ - 0
243
+ version: 2.0.0
244
+ prerelease: false
245
+ name: rspec
246
+ requirement: *id015
247
+ - !ruby/object:Gem::Dependency
248
+ type: :development
249
+ version_requirements: &id016 !ruby/object:Gem::Requirement
53
250
  none: false
54
251
  requirements:
55
252
  - - ">="
56
253
  - !ruby/object:Gem::Version
57
- hash: 7
254
+ hash: 3
58
255
  segments:
59
- - 3
60
256
  - 0
257
+ version: "0"
258
+ prerelease: false
259
+ name: cucumber
260
+ requirement: *id016
261
+ - !ruby/object:Gem::Dependency
262
+ type: :development
263
+ version_requirements: &id017 !ruby/object:Gem::Requirement
264
+ none: false
265
+ requirements:
266
+ - - ">="
267
+ - !ruby/object:Gem::Version
268
+ hash: 3
269
+ segments:
61
270
  - 0
62
- version: 3.0.0
63
- type: :runtime
64
- version_requirements: *id003
271
+ version: "0"
272
+ prerelease: false
273
+ name: aruba
274
+ requirement: *id017
275
+ - !ruby/object:Gem::Dependency
276
+ type: :development
277
+ version_requirements: &id018 !ruby/object:Gem::Requirement
278
+ none: false
279
+ requirements:
280
+ - - ">="
281
+ - !ruby/object:Gem::Version
282
+ hash: 3
283
+ segments:
284
+ - 0
285
+ version: "0"
286
+ prerelease: false
287
+ name: mocha
288
+ requirement: *id018
289
+ - !ruby/object:Gem::Dependency
290
+ type: :development
291
+ version_requirements: &id019 !ruby/object:Gem::Requirement
292
+ none: false
293
+ requirements:
294
+ - - ">="
295
+ - !ruby/object:Gem::Version
296
+ hash: 3
297
+ segments:
298
+ - 0
299
+ version: "0"
300
+ prerelease: false
301
+ name: autotest
302
+ requirement: *id019
303
+ - !ruby/object:Gem::Dependency
304
+ type: :development
305
+ version_requirements: &id020 !ruby/object:Gem::Requirement
306
+ none: false
307
+ requirements:
308
+ - - ">="
309
+ - !ruby/object:Gem::Version
310
+ hash: 3
311
+ segments:
312
+ - 0
313
+ version: "0"
314
+ prerelease: false
315
+ name: autotest-growl
316
+ requirement: *id020
65
317
  description: |-
66
318
  imap_archiver is a command line tool to archive messages on an imap server.
67
319
  You tell it what folders to archive and where to archive it.
@@ -76,7 +328,8 @@ extra_rdoc_files:
76
328
  - README.rdoc
77
329
  files:
78
330
  - .document
79
- - .gitignore
331
+ - Gemfile
332
+ - Gemfile.lock
80
333
  - LICENSE
81
334
  - README.rdoc
82
335
  - Rakefile
@@ -101,8 +354,8 @@ homepage: http://github.com/jellehelsen/imap_archiver
101
354
  licenses: []
102
355
 
103
356
  post_install_message:
104
- rdoc_options:
105
- - --charset=UTF-8
357
+ rdoc_options: []
358
+
106
359
  require_paths:
107
360
  - lib
108
361
  required_ruby_version: !ruby/object:Gem::Requirement
data/.gitignore DELETED
@@ -1,21 +0,0 @@
1
- ## MAC OS
2
- .DS_Store
3
-
4
- ## TEXTMATE
5
- *.tmproj
6
- tmtags
7
-
8
- ## EMACS
9
- *~
10
- \#*
11
- .\#*
12
-
13
- ## VIM
14
- *.swp
15
-
16
- ## PROJECT::GENERAL
17
- coverage
18
- rdoc
19
- pkg
20
- tmp
21
- ## PROJECT::SPECIFIC