maid 0.2.0.alpha.1 → 0.2.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +11 -2
- data/README.md +1 -1
- data/Vagrantfile +3 -34
- data/lib/maid/tools.rb +57 -23
- data/lib/maid/version.rb +1 -1
- data/maid.gemspec +10 -7
- data/script/smoke-test +7 -0
- data/script/vagrant-provision +1 -1
- data/script/vagrant-test +1 -1
- data/script/vagrant-test-all +56 -0
- data/spec/lib/maid/tools_spec.rb +23 -3
- metadata +233 -101
data/ChangeLog
CHANGED
@@ -1,15 +1,24 @@
|
|
1
|
+
maid (0.2.0.beta.1) unstable; urgency=low
|
2
|
+
|
3
|
+
* (Development in progress)
|
4
|
+
* Change "dir" to allow multiple paths (Closes: #64)
|
5
|
+
* Change "mkdir" to return the path of the created directory (Closes: #69)
|
6
|
+
* Various development improvements
|
7
|
+
|
8
|
+
-- Benjamin Oakes <hello@benjaminoakes.com> Sun, 2 Dec 2012 00:00:00 +0000
|
9
|
+
|
1
10
|
maid (0.2.0.alpha.1) unstable; urgency=low
|
2
11
|
|
3
12
|
* Started semver.org-like version numbering. Total adoption is
|
4
13
|
forthcoming. This forced v0.2.0 vs. v0.1.4.
|
5
14
|
* Changed "dir" tool to always sort. (Closes: #62)
|
6
|
-
* Added "version --long" command which gives information about the platform
|
15
|
+
* Added "version --long" ("-l") command which gives information about the platform
|
7
16
|
version and Ruby version. (Closes: #65)
|
8
17
|
* Improved user documentation, now in Markdown. (Closes: #66)
|
9
18
|
* Updated development dependencies.
|
10
19
|
* Various minor internal changes.
|
11
20
|
|
12
|
-
-- Benjamin Oakes <hello@benjaminoakes.com>
|
21
|
+
-- Benjamin Oakes <hello@benjaminoakes.com> Tue, 27 Nov 2012 00:00:00 +0000
|
13
22
|
|
14
23
|
maid (0.1.4.alpha.2) unstable; urgency=low
|
15
24
|
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Be lazy! Let Maid clean up after you, based on rules you define.
|
4
4
|
|
5
|
-
[Installation](https://github.com/benjaminoakes/maid#installation) | [Tutorial](https://github.com/benjaminoakes/maid#tutorial) | [Documentation](http://rubydoc.info/gems/maid/Maid/Tools) | [Change Log](https://github.com/benjaminoakes/maid/blob/master/ChangeLog)
|
5
|
+
[Installation](https://github.com/benjaminoakes/maid#installation) | [Tutorial](https://github.com/benjaminoakes/maid#tutorial) | [Example](https://github.com/benjaminoakes/maid-example) | [Documentation](http://rubydoc.info/gems/maid/Maid/Tools) | [Change Log](https://github.com/benjaminoakes/maid/blob/master/ChangeLog)
|
6
6
|
|
7
7
|
Maid keeps files from sitting around too long, untouched. Many of the downloads and other files you collect can easily be categorized and handled appropriately by rules you define. Let the maid in your computer take care of the easy stuff, so you can spend more of your time on what matters.
|
8
8
|
|
data/Vagrantfile
CHANGED
@@ -2,39 +2,8 @@
|
|
2
2
|
# vi: set ft=ruby :
|
3
3
|
|
4
4
|
Vagrant::Config.run do |config|
|
5
|
-
#
|
6
|
-
|
7
|
-
# To add a [box](http://vagrantup.com/v1/docs/boxes.html):
|
8
|
-
#
|
9
|
-
# vagrant box add $box_name $box_url
|
10
|
-
#
|
11
|
-
# Base boxes for supported releases are listed below. The idea is to come close to the [official Canonical support timeline](http://en.wikipedia.org/wiki/Ubuntu_releases#Table_of_versions), when possible.
|
12
|
-
#
|
13
|
-
# ### Releases preferred with Ruby 1.8.7
|
14
|
-
#
|
15
|
-
# These older releases of Ubuntu don't provide a prebuilt package for Ruby 1.9.3.
|
16
|
-
#
|
17
|
-
# Supported until 2015-04:
|
18
|
-
#
|
19
|
-
# * `lucid32`: http://files.vagrantup.com/lucid32.box
|
20
|
-
# * `lucid64`: http://files.vagrantup.com/lucid64.box
|
21
|
-
#
|
22
|
-
# ### Releases preferred with Ruby 1.9.3
|
23
|
-
#
|
24
|
-
# Supported until 2017-04:
|
25
|
-
#
|
26
|
-
# * `precise32`: http://files.vagrantup.com/precise32.box
|
27
|
-
# * `precise64`: http://files.vagrantup.com/precise64.box
|
28
|
-
#
|
29
|
-
# Supported until 2014-04:
|
30
|
-
#
|
31
|
-
# * `quantal64`: https://github.com/downloads/roderik/VagrantQuantal64Box/quantal64.box
|
32
|
-
#
|
33
|
-
# ## See Also
|
34
|
-
#
|
35
|
-
# * [Vagrant Boxes List](http://www.vagrantbox.es/)
|
36
|
-
# * [Contributing Guide](https://github.com/benjaminoakes/maid/wiki/Contributing)
|
37
|
-
config.vm.box = 'precise64'
|
5
|
+
# See also: `script/vagrant-test`, `script/vagrant-test-all`
|
6
|
+
config.vm.box = ENV['MAID_TARGET_BOX'] || 'precise64'
|
38
7
|
|
39
|
-
config.vm.provision(:shell, :path => 'script/vagrant-provision')
|
8
|
+
config.vm.provision(:shell, :path => 'script/vagrant-provision', :args => ENV['MAID_TARGET_RUBY'] || '1.9.3')
|
40
9
|
end
|
data/lib/maid/tools.rb
CHANGED
@@ -28,9 +28,9 @@ module Maid::Tools
|
|
28
28
|
# move(['~/Downloads/foo.zip', '~/Downloads/bar.zip'], '~/Archive/Software/Mac OS X/')
|
29
29
|
# move(dir('~/Downloads/*.zip'), '~/Archive/Software/Mac OS X/')
|
30
30
|
def move(sources, destination)
|
31
|
-
|
32
|
-
|
33
|
-
|
31
|
+
destination = expand(destination)
|
32
|
+
|
33
|
+
expand_all(sources).each do |source|
|
34
34
|
target = File.join(destination, File.basename(source))
|
35
35
|
|
36
36
|
unless File.exist?(target)
|
@@ -77,9 +77,7 @@ module Maid::Tools
|
|
77
77
|
#
|
78
78
|
# Ubuntu makes it easy to implement, and there's a Python library for doing so (see `trash-cli`). However, there's not a Ruby equivalent yet.
|
79
79
|
|
80
|
-
|
81
|
-
path = File.expand_path(path)
|
82
|
-
|
80
|
+
expand_all(paths).each do |path|
|
83
81
|
target = File.join(@trash_path, File.basename(path))
|
84
82
|
safe_trash_path = File.join(@trash_path, "#{ File.basename(path) } #{ Time.now.strftime('%Y-%m-%d-%H-%M-%S') }")
|
85
83
|
|
@@ -122,8 +120,7 @@ module Maid::Tools
|
|
122
120
|
# remove(['~/Downloads/foo.zip', '~/Downloads/bar.zip'])
|
123
121
|
# remove(dir('~/Downloads/*.zip'))
|
124
122
|
def remove(paths, options = {})
|
125
|
-
|
126
|
-
path = File.expand_path(path)
|
123
|
+
expand_all(paths).each do |path|
|
127
124
|
options = @file_options.merge(options)
|
128
125
|
|
129
126
|
@logger.info("Removing #{ path.inspect }")
|
@@ -133,16 +130,35 @@ module Maid::Tools
|
|
133
130
|
|
134
131
|
# Give all files matching the given glob.
|
135
132
|
#
|
133
|
+
# Note that the globs are *not* regexps (they're closer to shell globs). However, some regexp-like notation can be used, e.g. `?`, `[a-z]`, `{tgz,zip}`. For more details, see Ruby's documentation on `Dir.glob`.
|
134
|
+
#
|
136
135
|
# The matches are sorted lexically to aid in readability when using `--dry-run`.
|
137
136
|
#
|
138
137
|
# ## Examples
|
139
138
|
#
|
139
|
+
# Single glob:
|
140
|
+
#
|
140
141
|
# dir('~/Downloads/*.zip')
|
141
|
-
|
142
|
-
|
142
|
+
#
|
143
|
+
# Specifying multiple extensions succinctly:
|
144
|
+
#
|
145
|
+
# dir('~/Downloads/*.{exe,deb,dmg,pkg,rpm}')
|
146
|
+
#
|
147
|
+
# Multiple glob (both are equivalent):
|
148
|
+
#
|
149
|
+
# dir(['~/Downloads/*.zip', '~/Dropbox/*.zip'])
|
150
|
+
# dir(%w(~/Downloads/*.zip ~/Dropbox/*.zip))
|
151
|
+
#
|
152
|
+
def dir(globs)
|
153
|
+
expand_all(globs).
|
154
|
+
map { |glob| Dir.glob(glob) }.
|
155
|
+
flatten.
|
156
|
+
sort
|
143
157
|
end
|
144
158
|
|
145
|
-
#
|
159
|
+
# Create a directory and all of its parent directories.
|
160
|
+
#
|
161
|
+
# The path of the created directory is returned, which allows for chaining (see examples).
|
146
162
|
#
|
147
163
|
# ## Options
|
148
164
|
#
|
@@ -152,9 +168,17 @@ module Maid::Tools
|
|
152
168
|
#
|
153
169
|
# ## Examples
|
154
170
|
#
|
155
|
-
#
|
171
|
+
# Creating a directory with a specific mode:
|
172
|
+
#
|
173
|
+
# mkdir('~/Music/Pink Floyd/', :mode => 0644)
|
174
|
+
#
|
175
|
+
# Ensuring a directory exists when moving:
|
176
|
+
#
|
177
|
+
# move('~/Downloads/Pink Floyd*.mp3', mkdir('~/Music/Pink Floyd/'))
|
156
178
|
def mkdir(path, options = {})
|
157
|
-
|
179
|
+
path = expand(path)
|
180
|
+
FileUtils.mkdir_p(path, options)
|
181
|
+
path
|
158
182
|
end
|
159
183
|
|
160
184
|
# Find matching files, akin to the Unix utility `find`.
|
@@ -174,7 +198,7 @@ module Maid::Tools
|
|
174
198
|
# end
|
175
199
|
#
|
176
200
|
def find(path, &block)
|
177
|
-
expanded_path =
|
201
|
+
expanded_path = expand(path)
|
178
202
|
|
179
203
|
if block.nil?
|
180
204
|
files = []
|
@@ -253,7 +277,7 @@ module Maid::Tools
|
|
253
277
|
#
|
254
278
|
# created_at('foo.zip') # => Sat Apr 09 10:50:01 -0400 2011
|
255
279
|
def created_at(path)
|
256
|
-
File.ctime(
|
280
|
+
File.ctime(expand(path))
|
257
281
|
end
|
258
282
|
|
259
283
|
# Get the time that a file was last accessed.
|
@@ -264,7 +288,7 @@ module Maid::Tools
|
|
264
288
|
#
|
265
289
|
# accessed_at('foo.zip') # => Sat Apr 09 10:50:01 -0400 2011
|
266
290
|
def accessed_at(path)
|
267
|
-
File.atime(
|
291
|
+
File.atime(expand(path))
|
268
292
|
end
|
269
293
|
|
270
294
|
# @deprecated
|
@@ -284,12 +308,12 @@ module Maid::Tools
|
|
284
308
|
#
|
285
309
|
# modified_at('foo.zip') # => Sat Apr 09 10:50:01 -0400 2011
|
286
310
|
def modified_at(path)
|
287
|
-
File.mtime(
|
311
|
+
File.mtime(expand(path))
|
288
312
|
end
|
289
313
|
|
290
314
|
# @deprecated
|
291
315
|
#
|
292
|
-
#
|
316
|
+
# Pull and push the `git` repository at the given path.
|
293
317
|
#
|
294
318
|
# Since this is deprecated, you might also be interested in [SparkleShare](http://sparkleshare.org/), a great `git`-based file syncronization project.
|
295
319
|
#
|
@@ -297,14 +321,14 @@ module Maid::Tools
|
|
297
321
|
#
|
298
322
|
# git_piston('~/code/projectname')
|
299
323
|
def git_piston(path)
|
300
|
-
full_path =
|
324
|
+
full_path = expand(path)
|
301
325
|
stdout = cmd("cd #{full_path.inspect} && git pull && git push 2>&1")
|
302
326
|
@logger.info "Fired git piston on #{full_path.inspect}. STDOUT:\n\n#{stdout}"
|
303
327
|
end
|
304
328
|
|
305
329
|
deprecated :git_piston, 'SparkleShare (http://sparkleshare.org/)'
|
306
330
|
|
307
|
-
# Simple sync
|
331
|
+
# Simple sync two files/folders using `rsync`.
|
308
332
|
#
|
309
333
|
# The host OS must provide `rsync`. See the `rsync` man page for a detailed description.
|
310
334
|
#
|
@@ -333,10 +357,10 @@ module Maid::Tools
|
|
333
357
|
#
|
334
358
|
# sync('~/code', '/backup/code', :exclude => ['.git', '.rvmrc'])
|
335
359
|
def sync(from, to, options = {})
|
336
|
-
# expand
|
360
|
+
# expand removes trailing slash
|
337
361
|
# cannot use str[-1] due to ruby 1.8.7 restriction
|
338
|
-
from =
|
339
|
-
to =
|
362
|
+
from = expand(from) + (from.end_with?('/') ? '/' : '')
|
363
|
+
to = expand(to) + (to.end_with?('/') ? '/' : '')
|
340
364
|
# default options
|
341
365
|
options = { :archive => true, :update => true }.merge(options)
|
342
366
|
ops = []
|
@@ -354,4 +378,14 @@ module Maid::Tools
|
|
354
378
|
stdout = cmd("rsync #{ ops.join(' ') } #{ from.inspect } #{ to.inspect } 2>&1")
|
355
379
|
@logger.info("Fired sync from #{ from.inspect } to #{ to.inspect }. STDOUT:\n\n#{ stdout }")
|
356
380
|
end
|
381
|
+
|
382
|
+
private
|
383
|
+
|
384
|
+
def expand(path)
|
385
|
+
File.expand_path(path)
|
386
|
+
end
|
387
|
+
|
388
|
+
def expand_all(paths)
|
389
|
+
Array(paths).map { |path| expand(path) }
|
390
|
+
end
|
357
391
|
end
|
data/lib/maid/version.rb
CHANGED
data/maid.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
s.email = %w(hello@benjaminoakes.com)
|
12
12
|
s.license = 'GPLv2'
|
13
13
|
s.homepage = 'http://github.com/benjaminoakes/maid'
|
14
|
-
s.summary =
|
14
|
+
s.summary = 'Be lazy. Let Maid clean up after you, based on rules you define.'
|
15
15
|
s.description = s.summary
|
16
16
|
|
17
17
|
s.rubyforge_project = 'maid'
|
@@ -25,18 +25,21 @@ Gem::Specification.new do |s|
|
|
25
25
|
s.add_dependency('ohai', '~> 6.14.0')
|
26
26
|
s.add_development_dependency('fakefs', '~> 0.4.1')
|
27
27
|
s.add_development_dependency('guard', '~> 1.5.4')
|
28
|
-
s.add_development_dependency('guard-rspec', '~> 2.
|
28
|
+
s.add_development_dependency('guard-rspec', '~> 2.3.0')
|
29
|
+
s.add_development_dependency('rb-readline', '~> 0.4.2') # To get guard file change detection working properly
|
29
30
|
s.add_development_dependency('rake', '~> 10.0.2')
|
30
31
|
s.add_development_dependency('redcarpet', '~> 2.2.2') # Soft dependency of `yard`
|
31
32
|
s.add_development_dependency('rspec', '~> 2.12.0')
|
32
33
|
s.add_development_dependency('timecop', '~> 0.5.3')
|
33
34
|
s.add_development_dependency('yard', '~> 0.8.3')
|
34
35
|
|
35
|
-
if
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
36
|
+
# In Vagrant, polling won't cross over the OS boundary if you develop in the host OS but run your tests in the
|
37
|
+
# guest. One way around this is to force polling instead:
|
38
|
+
#
|
39
|
+
# bundle exec guard --force-polling
|
40
|
+
#
|
41
|
+
s.add_development_dependency('rb-inotify', '~> 0.8.8')
|
42
|
+
s.add_development_dependency('rb-fsevent', '~> 0.9.2')
|
40
43
|
|
41
44
|
s.files = `git ls-files`.split("\n")
|
42
45
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
data/script/smoke-test
ADDED
data/script/vagrant-provision
CHANGED
data/script/vagrant-test
CHANGED
@@ -0,0 +1,56 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
# Test all officially supported Ubuntu versions.
|
3
|
+
#
|
4
|
+
# See also: `Vagrantfile`
|
5
|
+
|
6
|
+
# ## Base Boxes
|
7
|
+
#
|
8
|
+
# To add a [box](http://vagrantup.com/v1/docs/boxes.html):
|
9
|
+
#
|
10
|
+
# vagrant box add $box_name $box_url
|
11
|
+
#
|
12
|
+
# Base boxes for supported releases are listed below. The idea is to come close to the [official Canonical support timeline](http://en.wikipedia.org/wiki/Ubuntu_releases#Table_of_versions), when possible.
|
13
|
+
#
|
14
|
+
# ### Releases preferred with Ruby 1.8.7
|
15
|
+
#
|
16
|
+
# These older releases of Ubuntu don't provide a prebuilt package for Ruby 1.9.3.
|
17
|
+
#
|
18
|
+
# Supported until 2013-04:
|
19
|
+
#
|
20
|
+
# * `hardy32`: https://raw.github.com/ndj/vagrant-hardy-box-php-5.2/master/hardy-32-php-52-basebox.box
|
21
|
+
#
|
22
|
+
# Supported until 2015-04:
|
23
|
+
#
|
24
|
+
# * `lucid32`: http://files.vagrantup.com/lucid32.box
|
25
|
+
# * `lucid64`: http://files.vagrantup.com/lucid64.box
|
26
|
+
#
|
27
|
+
# Supported until 2013-04:
|
28
|
+
#
|
29
|
+
# * `oneiric64`: https://github.com/shaftoe/vagrant-ubuntu-oneiric64/raw/master/oneiric64.box
|
30
|
+
#
|
31
|
+
# ### Releases preferred with Ruby 1.9.3
|
32
|
+
#
|
33
|
+
# Supported until 2017-04:
|
34
|
+
#
|
35
|
+
# * `precise32`: http://files.vagrantup.com/precise32.box
|
36
|
+
# * `precise64`: http://files.vagrantup.com/precise64.box
|
37
|
+
#
|
38
|
+
# Supported until 2014-04:
|
39
|
+
#
|
40
|
+
# * `quantal64`: https://github.com/downloads/roderik/VagrantQuantal64Box/quantal64.box
|
41
|
+
#
|
42
|
+
# ## See Also
|
43
|
+
#
|
44
|
+
# * [Vagrant Boxes List](http://www.vagrantbox.es/)
|
45
|
+
# * [Contributing Guide](https://github.com/benjaminoakes/maid/wiki/Contributing)
|
46
|
+
|
47
|
+
MAID_TARGET_BOX='hardy32' MAID_TARGET_RUBY='1.8.7' script/vagrant-test
|
48
|
+
# TODO: Locate and add box for `hardy64`
|
49
|
+
MAID_TARGET_BOX='lucid32' MAID_TARGET_RUBY='1.8.7' script/vagrant-test
|
50
|
+
MAID_TARGET_BOX='lucid64' MAID_TARGET_RUBY='1.8.7' script/vagrant-test
|
51
|
+
# TODO: Locate and add box for `oneiric32`
|
52
|
+
MAID_TARGET_BOX='oneiric64' MAID_TARGET_RUBY='1.8.7' script/vagrant-test
|
53
|
+
MAID_TARGET_BOX='precise32' MAID_TARGET_RUBY='1.9.3' script/vagrant-test
|
54
|
+
MAID_TARGET_BOX='precise64' MAID_TARGET_RUBY='1.9.3' script/vagrant-test
|
55
|
+
# TODO: Locate and add box for `quantal32`
|
56
|
+
MAID_TARGET_BOX='quantal64' MAID_TARGET_RUBY='1.9.3' script/vagrant-test
|
data/spec/lib/maid/tools_spec.rb
CHANGED
@@ -153,8 +153,8 @@ module Maid
|
|
153
153
|
|
154
154
|
describe '#dir' do
|
155
155
|
before do
|
156
|
-
@file = (dir = "#@home/Downloads
|
157
|
-
FileUtils.mkdir_p(dir)
|
156
|
+
@file = (@dir = "#@home/Downloads") + '/foo.zip'
|
157
|
+
FileUtils.mkdir_p(@dir)
|
158
158
|
end
|
159
159
|
|
160
160
|
it 'lists files in a directory' do
|
@@ -164,9 +164,25 @@ module Maid
|
|
164
164
|
|
165
165
|
it 'lists multiple files in alphabetical order' do
|
166
166
|
# It doesn't occur with `FakeFS` as far as I can tell, but Ubuntu (and possibly OS X) can give the results out of lexical order. That makes using the `dry-run` output difficult to use.
|
167
|
-
Dir.stub(:
|
167
|
+
Dir.stub(:glob) { %w(/home/foo/b.zip /home/foo/a.zip /home/foo/c.zip) }
|
168
168
|
@maid.dir('~/Downloads/*.zip').should == %w(/home/foo/a.zip /home/foo/b.zip /home/foo/c.zip)
|
169
169
|
end
|
170
|
+
|
171
|
+
context 'with multiple files' do
|
172
|
+
before do
|
173
|
+
@other_file = "#@dir/qux.tgz"
|
174
|
+
FileUtils.touch(@file)
|
175
|
+
FileUtils.touch(@other_file)
|
176
|
+
end
|
177
|
+
|
178
|
+
it 'list files in all provided directories' do
|
179
|
+
@maid.dir(%w(~/Downloads/*.tgz ~/Downloads/*.zip)).should == [@file, @other_file]
|
180
|
+
end
|
181
|
+
|
182
|
+
it 'lists files when using regexp-like glob patterns' do
|
183
|
+
@maid.dir('~/Downloads/*.{tgz,zip}').should == [@file, @other_file]
|
184
|
+
end
|
185
|
+
end
|
170
186
|
end
|
171
187
|
|
172
188
|
describe '#mkdir' do
|
@@ -174,6 +190,10 @@ module Maid
|
|
174
190
|
@maid.mkdir('~/Downloads/Music/Pink.Floyd')
|
175
191
|
File.exist?("#@home/Downloads/Music/Pink.Floyd").should be_true
|
176
192
|
end
|
193
|
+
|
194
|
+
it 'returns the path of the created directory' do
|
195
|
+
@maid.mkdir('~/Reference/Foo').should == "#@home/Reference/Foo"
|
196
|
+
end
|
177
197
|
end
|
178
198
|
|
179
199
|
describe '#find' do
|
metadata
CHANGED
@@ -1,167 +1,276 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: maid
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
hash: 62196353
|
5
5
|
prerelease: 6
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 2
|
9
|
+
- 0
|
10
|
+
- beta
|
11
|
+
- 1
|
12
|
+
version: 0.2.0.beta.1
|
6
13
|
platform: ruby
|
7
|
-
authors:
|
14
|
+
authors:
|
8
15
|
- Benjamin Oakes
|
9
16
|
autorequire:
|
10
17
|
bindir: bin
|
11
18
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
19
|
+
|
20
|
+
date: 2012-12-02 00:00:00 -05:00
|
21
|
+
default_executable:
|
22
|
+
dependencies:
|
23
|
+
- !ruby/object:Gem::Dependency
|
15
24
|
name: thor
|
16
|
-
|
25
|
+
prerelease: false
|
26
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
17
27
|
none: false
|
18
|
-
requirements:
|
28
|
+
requirements:
|
19
29
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
hash: 95
|
32
|
+
segments:
|
33
|
+
- 0
|
34
|
+
- 16
|
35
|
+
- 0
|
21
36
|
version: 0.16.0
|
22
37
|
type: :runtime
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
38
|
+
version_requirements: *id001
|
39
|
+
- !ruby/object:Gem::Dependency
|
26
40
|
name: deprecated
|
27
|
-
|
41
|
+
prerelease: false
|
42
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
43
|
none: false
|
29
|
-
requirements:
|
44
|
+
requirements:
|
30
45
|
- - ~>
|
31
|
-
- !ruby/object:Gem::Version
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
hash: 5
|
48
|
+
segments:
|
49
|
+
- 3
|
50
|
+
- 0
|
51
|
+
- 1
|
32
52
|
version: 3.0.1
|
33
53
|
type: :runtime
|
34
|
-
|
35
|
-
|
36
|
-
- !ruby/object:Gem::Dependency
|
54
|
+
version_requirements: *id002
|
55
|
+
- !ruby/object:Gem::Dependency
|
37
56
|
name: maid-xdg
|
38
|
-
|
57
|
+
prerelease: false
|
58
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
39
59
|
none: false
|
40
|
-
requirements:
|
41
|
-
- - =
|
42
|
-
- !ruby/object:Gem::Version
|
60
|
+
requirements:
|
61
|
+
- - "="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
hash: 127
|
64
|
+
segments:
|
65
|
+
- 2
|
66
|
+
- 2
|
67
|
+
- 1
|
68
|
+
- 2
|
43
69
|
version: 2.2.1.2
|
44
70
|
type: :runtime
|
45
|
-
|
46
|
-
|
47
|
-
- !ruby/object:Gem::Dependency
|
71
|
+
version_requirements: *id003
|
72
|
+
- !ruby/object:Gem::Dependency
|
48
73
|
name: ohai
|
49
|
-
|
74
|
+
prerelease: false
|
75
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
50
76
|
none: false
|
51
|
-
requirements:
|
77
|
+
requirements:
|
52
78
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
hash: 23
|
81
|
+
segments:
|
82
|
+
- 6
|
83
|
+
- 14
|
84
|
+
- 0
|
54
85
|
version: 6.14.0
|
55
86
|
type: :runtime
|
56
|
-
|
57
|
-
|
58
|
-
- !ruby/object:Gem::Dependency
|
87
|
+
version_requirements: *id004
|
88
|
+
- !ruby/object:Gem::Dependency
|
59
89
|
name: fakefs
|
60
|
-
|
90
|
+
prerelease: false
|
91
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
61
92
|
none: false
|
62
|
-
requirements:
|
93
|
+
requirements:
|
63
94
|
- - ~>
|
64
|
-
- !ruby/object:Gem::Version
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
hash: 13
|
97
|
+
segments:
|
98
|
+
- 0
|
99
|
+
- 4
|
100
|
+
- 1
|
65
101
|
version: 0.4.1
|
66
102
|
type: :development
|
67
|
-
|
68
|
-
|
69
|
-
- !ruby/object:Gem::Dependency
|
103
|
+
version_requirements: *id005
|
104
|
+
- !ruby/object:Gem::Dependency
|
70
105
|
name: guard
|
71
|
-
|
106
|
+
prerelease: false
|
107
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
72
108
|
none: false
|
73
|
-
requirements:
|
109
|
+
requirements:
|
74
110
|
- - ~>
|
75
|
-
- !ruby/object:Gem::Version
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
hash: 11
|
113
|
+
segments:
|
114
|
+
- 1
|
115
|
+
- 5
|
116
|
+
- 4
|
76
117
|
version: 1.5.4
|
77
118
|
type: :development
|
78
|
-
|
79
|
-
|
80
|
-
- !ruby/object:Gem::Dependency
|
119
|
+
version_requirements: *id006
|
120
|
+
- !ruby/object:Gem::Dependency
|
81
121
|
name: guard-rspec
|
82
|
-
|
122
|
+
prerelease: false
|
123
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
83
124
|
none: false
|
84
|
-
requirements:
|
125
|
+
requirements:
|
85
126
|
- - ~>
|
86
|
-
- !ruby/object:Gem::Version
|
87
|
-
|
127
|
+
- !ruby/object:Gem::Version
|
128
|
+
hash: 3
|
129
|
+
segments:
|
130
|
+
- 2
|
131
|
+
- 3
|
132
|
+
- 0
|
133
|
+
version: 2.3.0
|
88
134
|
type: :development
|
135
|
+
version_requirements: *id007
|
136
|
+
- !ruby/object:Gem::Dependency
|
137
|
+
name: rb-readline
|
89
138
|
prerelease: false
|
90
|
-
|
91
|
-
|
139
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
141
|
+
requirements:
|
142
|
+
- - ~>
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
hash: 11
|
145
|
+
segments:
|
146
|
+
- 0
|
147
|
+
- 4
|
148
|
+
- 2
|
149
|
+
version: 0.4.2
|
150
|
+
type: :development
|
151
|
+
version_requirements: *id008
|
152
|
+
- !ruby/object:Gem::Dependency
|
92
153
|
name: rake
|
93
|
-
|
154
|
+
prerelease: false
|
155
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
94
156
|
none: false
|
95
|
-
requirements:
|
157
|
+
requirements:
|
96
158
|
- - ~>
|
97
|
-
- !ruby/object:Gem::Version
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
hash: 75
|
161
|
+
segments:
|
162
|
+
- 10
|
163
|
+
- 0
|
164
|
+
- 2
|
98
165
|
version: 10.0.2
|
99
166
|
type: :development
|
100
|
-
|
101
|
-
|
102
|
-
- !ruby/object:Gem::Dependency
|
167
|
+
version_requirements: *id009
|
168
|
+
- !ruby/object:Gem::Dependency
|
103
169
|
name: redcarpet
|
104
|
-
|
170
|
+
prerelease: false
|
171
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
105
172
|
none: false
|
106
|
-
requirements:
|
173
|
+
requirements:
|
107
174
|
- - ~>
|
108
|
-
- !ruby/object:Gem::Version
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
hash: 3
|
177
|
+
segments:
|
178
|
+
- 2
|
179
|
+
- 2
|
180
|
+
- 2
|
109
181
|
version: 2.2.2
|
110
182
|
type: :development
|
111
|
-
|
112
|
-
|
113
|
-
- !ruby/object:Gem::Dependency
|
183
|
+
version_requirements: *id010
|
184
|
+
- !ruby/object:Gem::Dependency
|
114
185
|
name: rspec
|
115
|
-
|
186
|
+
prerelease: false
|
187
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
116
188
|
none: false
|
117
|
-
requirements:
|
189
|
+
requirements:
|
118
190
|
- - ~>
|
119
|
-
- !ruby/object:Gem::Version
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
hash: 63
|
193
|
+
segments:
|
194
|
+
- 2
|
195
|
+
- 12
|
196
|
+
- 0
|
120
197
|
version: 2.12.0
|
121
198
|
type: :development
|
122
|
-
|
123
|
-
|
124
|
-
- !ruby/object:Gem::Dependency
|
199
|
+
version_requirements: *id011
|
200
|
+
- !ruby/object:Gem::Dependency
|
125
201
|
name: timecop
|
126
|
-
|
202
|
+
prerelease: false
|
203
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
127
204
|
none: false
|
128
|
-
requirements:
|
205
|
+
requirements:
|
129
206
|
- - ~>
|
130
|
-
- !ruby/object:Gem::Version
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
hash: 13
|
209
|
+
segments:
|
210
|
+
- 0
|
211
|
+
- 5
|
212
|
+
- 3
|
131
213
|
version: 0.5.3
|
132
214
|
type: :development
|
133
|
-
|
134
|
-
|
135
|
-
- !ruby/object:Gem::Dependency
|
215
|
+
version_requirements: *id012
|
216
|
+
- !ruby/object:Gem::Dependency
|
136
217
|
name: yard
|
137
|
-
|
218
|
+
prerelease: false
|
219
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
138
220
|
none: false
|
139
|
-
requirements:
|
221
|
+
requirements:
|
140
222
|
- - ~>
|
141
|
-
- !ruby/object:Gem::Version
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
hash: 57
|
225
|
+
segments:
|
226
|
+
- 0
|
227
|
+
- 8
|
228
|
+
- 3
|
142
229
|
version: 0.8.3
|
143
230
|
type: :development
|
144
|
-
|
145
|
-
|
146
|
-
- !ruby/object:Gem::Dependency
|
231
|
+
version_requirements: *id013
|
232
|
+
- !ruby/object:Gem::Dependency
|
147
233
|
name: rb-inotify
|
148
|
-
|
234
|
+
prerelease: false
|
235
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
149
236
|
none: false
|
150
|
-
requirements:
|
237
|
+
requirements:
|
151
238
|
- - ~>
|
152
|
-
- !ruby/object:Gem::Version
|
239
|
+
- !ruby/object:Gem::Version
|
240
|
+
hash: 47
|
241
|
+
segments:
|
242
|
+
- 0
|
243
|
+
- 8
|
244
|
+
- 8
|
153
245
|
version: 0.8.8
|
154
246
|
type: :development
|
247
|
+
version_requirements: *id014
|
248
|
+
- !ruby/object:Gem::Dependency
|
249
|
+
name: rb-fsevent
|
155
250
|
prerelease: false
|
156
|
-
|
251
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
252
|
+
none: false
|
253
|
+
requirements:
|
254
|
+
- - ~>
|
255
|
+
- !ruby/object:Gem::Version
|
256
|
+
hash: 63
|
257
|
+
segments:
|
258
|
+
- 0
|
259
|
+
- 9
|
260
|
+
- 2
|
261
|
+
version: 0.9.2
|
262
|
+
type: :development
|
263
|
+
version_requirements: *id015
|
157
264
|
description: Be lazy. Let Maid clean up after you, based on rules you define.
|
158
|
-
email:
|
265
|
+
email:
|
159
266
|
- hello@benjaminoakes.com
|
160
|
-
executables:
|
267
|
+
executables:
|
161
268
|
- maid
|
162
269
|
extensions: []
|
270
|
+
|
163
271
|
extra_rdoc_files: []
|
164
|
-
|
272
|
+
|
273
|
+
files:
|
165
274
|
- .gitignore
|
166
275
|
- .rspec
|
167
276
|
- .rvmrc
|
@@ -190,8 +299,10 @@ files:
|
|
190
299
|
- resources/OneThingWell.png
|
191
300
|
- resources/download-for-ubuntu.png
|
192
301
|
- resources/ruby5.gif
|
302
|
+
- script/smoke-test
|
193
303
|
- script/vagrant-provision
|
194
304
|
- script/vagrant-test
|
305
|
+
- script/vagrant-test-all
|
195
306
|
- spec/dependency_spec.rb
|
196
307
|
- spec/lib/maid/app_spec.rb
|
197
308
|
- spec/lib/maid/maid_spec.rb
|
@@ -203,30 +314,51 @@ files:
|
|
203
314
|
- spec/lib/maid/user_agent_spec.rb
|
204
315
|
- spec/lib/maid_spec.rb
|
205
316
|
- spec/spec_helper.rb
|
317
|
+
has_rdoc: true
|
206
318
|
homepage: http://github.com/benjaminoakes/maid
|
207
|
-
licenses:
|
319
|
+
licenses:
|
208
320
|
- GPLv2
|
209
321
|
post_install_message:
|
210
322
|
rdoc_options: []
|
211
|
-
|
323
|
+
|
324
|
+
require_paths:
|
212
325
|
- lib
|
213
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
326
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
214
327
|
none: false
|
215
|
-
requirements:
|
216
|
-
- -
|
217
|
-
- !ruby/object:Gem::Version
|
218
|
-
|
219
|
-
|
328
|
+
requirements:
|
329
|
+
- - ">="
|
330
|
+
- !ruby/object:Gem::Version
|
331
|
+
hash: 3
|
332
|
+
segments:
|
333
|
+
- 0
|
334
|
+
version: "0"
|
335
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
220
336
|
none: false
|
221
|
-
requirements:
|
222
|
-
- -
|
223
|
-
- !ruby/object:Gem::Version
|
337
|
+
requirements:
|
338
|
+
- - ">"
|
339
|
+
- !ruby/object:Gem::Version
|
340
|
+
hash: 25
|
341
|
+
segments:
|
342
|
+
- 1
|
343
|
+
- 3
|
344
|
+
- 1
|
224
345
|
version: 1.3.1
|
225
346
|
requirements: []
|
347
|
+
|
226
348
|
rubyforge_project: maid
|
227
|
-
rubygems_version: 1.
|
349
|
+
rubygems_version: 1.6.2
|
228
350
|
signing_key:
|
229
351
|
specification_version: 3
|
230
352
|
summary: Be lazy. Let Maid clean up after you, based on rules you define.
|
231
|
-
test_files:
|
232
|
-
|
353
|
+
test_files:
|
354
|
+
- spec/dependency_spec.rb
|
355
|
+
- spec/lib/maid/app_spec.rb
|
356
|
+
- spec/lib/maid/maid_spec.rb
|
357
|
+
- spec/lib/maid/numeric_extensions_spec.rb
|
358
|
+
- spec/lib/maid/platform_spec.rb
|
359
|
+
- spec/lib/maid/rule_spec.rb
|
360
|
+
- spec/lib/maid/tools_spec.rb
|
361
|
+
- spec/lib/maid/trash_migration_spec.rb
|
362
|
+
- spec/lib/maid/user_agent_spec.rb
|
363
|
+
- spec/lib/maid_spec.rb
|
364
|
+
- spec/spec_helper.rb
|