maid 0.11.3 → 0.12.0
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.
- checksums.yaml +4 -4
- data/.commitlintrc.json +2 -1
- data/.github/workflows/test.yml +2 -3
- data/.gitignore +1 -0
- data/.releaserc.json +21 -10
- data/.rubocop.yml +1 -1
- data/CHANGELOG.md +12 -0
- data/Gemfile.lock +1 -1
- data/README.md +39 -39
- data/lib/maid/version.rb +1 -1
- data/maid.gemspec +13 -13
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ebc7fa231d81d30b4717ace2c4f25cb8930415d48c22b16977629de78ad96748
|
|
4
|
+
data.tar.gz: 427f6c1b56b859df231de5c4e211e6b1af3177b8e78929afaac40eacff80e15a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 45bd46b25645e716a0bdc4e334d77e16ba491e935717332417fccbe6c7357decdee5dc5ce555baba9ac80756513802865017da27a5b036454632a2b27152f0fc
|
|
7
|
+
data.tar.gz: 1116b96df0b3d0f17d8762f107c26609d881242224685682adfc8b42b0a0de7adee930edba494202d41b42f46f60fd1826cb9e5c35a5ba3e2b8a016612f33b69
|
data/.commitlintrc.json
CHANGED
data/.github/workflows/test.yml
CHANGED
data/.gitignore
CHANGED
data/.releaserc.json
CHANGED
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
"branches": [
|
|
3
|
-
"master"
|
|
4
|
-
],
|
|
2
|
+
"branches": ["master"],
|
|
5
3
|
"plugins": [
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
[
|
|
5
|
+
"@semantic-release/commit-analyzer",
|
|
6
|
+
{
|
|
7
|
+
"parserOpts": {
|
|
8
|
+
"breakingHeaderPattern": "^(\\w*)(?:\\((.*)\\))?!: (.*)$"
|
|
9
|
+
},
|
|
10
|
+
"releaseRules": [
|
|
11
|
+
{ "breaking": true, "release": "minor" }
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
[
|
|
16
|
+
"@semantic-release/release-notes-generator",
|
|
17
|
+
{
|
|
18
|
+
"parserOpts": {
|
|
19
|
+
"breakingHeaderPattern": "^(\\w*)(?:\\((.*)\\))?!: (.*)$"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
],
|
|
8
23
|
[
|
|
9
24
|
"@semantic-release/changelog",
|
|
10
25
|
{
|
|
@@ -21,11 +36,7 @@
|
|
|
21
36
|
[
|
|
22
37
|
"@semantic-release/git",
|
|
23
38
|
{
|
|
24
|
-
"assets": [
|
|
25
|
-
"CHANGELOG.md",
|
|
26
|
-
"lib/maid/version.rb",
|
|
27
|
-
"Gemfile.lock"
|
|
28
|
-
],
|
|
39
|
+
"assets": ["CHANGELOG.md", "lib/maid/version.rb", "Gemfile.lock"],
|
|
29
40
|
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
|
|
30
41
|
}
|
|
31
42
|
],
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
# [0.12.0](https://github.com/maid/maid/compare/v0.11.3...v0.12.0) (2026-10-17)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### chore
|
|
5
|
+
|
|
6
|
+
* Drop Ruby 3.2 support ([#358](https://github.com/maid/maid/issues/358)) ([8cf4fb9](https://github.com/maid/maid/commit/8cf4fb986c33707556329d81558d5d8afcf90a33))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* Drop Ruby 3.2 support (#358)
|
|
12
|
+
|
|
1
13
|
## [0.11.3](https://github.com/maid/maid/compare/v0.11.2...v0.11.3) (2026-09-10)
|
|
2
14
|
|
|
3
15
|
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
[](https://qlty.sh/gh/maid/projects/maid)
|
|
10
10
|
[](http://stackoverflow.com/questions/tagged/maid)
|
|
11
11
|
|
|
12
|
-
**Be lazy!**
|
|
12
|
+
**Be lazy!** Let Maid clean up after you, based on rules you define.
|
|
13
13
|
|
|
14
14
|
[Installation](#installation)
|
|
15
15
|
| [Tutorial](#tutorial)
|
|
@@ -18,40 +18,40 @@
|
|
|
18
18
|
| [Documentation][]
|
|
19
19
|
| [Changelog](CHANGELOG.md)
|
|
20
20
|
|
|
21
|
-
Maid keeps files from sitting around too long, untouched.
|
|
22
|
-
easily be categorized and handled appropriately by rules you define.
|
|
21
|
+
Maid keeps files from sitting around too long, untouched. Many of the downloads and temporary files you collect can
|
|
22
|
+
easily be categorized and handled appropriately by rules you define. Let the `maid` in your computer take care of the
|
|
23
23
|
easy stuff, so you can spend more of your time on what matters.
|
|
24
24
|
|
|
25
|
-
Think of it like the email filters you might already have, but for files.
|
|
26
|
-
expect?
|
|
25
|
+
Think of it like the email filters you might already have, but for files. Worried about things happening that you don't
|
|
26
|
+
expect? Maid doesn't overwrite files and actions are logged so you can tell what happened.
|
|
27
27
|
|
|
28
|
-
Maid is inspired by the Mac OS X shareware program [Hazel](http://www.noodlesoft.com/hazel.php).
|
|
28
|
+
Maid is inspired by the Mac OS X shareware program [Hazel](http://www.noodlesoft.com/hazel.php). Think of Maid as
|
|
29
29
|
**"Hazel for hackers"**.
|
|
30
30
|
|
|
31
|
-
Your rules are defined in Ruby, so simple rules are easy and difficult rules are possible.
|
|
31
|
+
Your rules are defined in Ruby, so simple rules are easy and difficult rules are possible. This also makes Maid a great
|
|
32
32
|
general-purpose **advanced file renaming tool**.
|
|
33
33
|
|
|
34
34
|
## Want to help?
|
|
35
35
|
|
|
36
|
-
This project wouldn't be where it is today without its users and contributors.
|
|
36
|
+
This project wouldn't be where it is today without its users and contributors. Thank you! See [AUTHORS][] and the
|
|
37
37
|
[contributors graph][] for more info.
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
[authors]: https://github.com/maid/maid/blob/master/AUTHORS.md
|
|
40
|
+
[contributors graph]: https://github.com/maid/maid/graphs/contributors
|
|
41
41
|
|
|
42
42
|
### For Users
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
- Participate in [beta testing](https://github.com/maid/maid/issues/10)
|
|
45
|
+
- [Report an issue](https://github.com/maid/maid/issues) (bug or feature request)
|
|
46
|
+
- Read through the [wiki](https://github.com/maid/maid/wiki)
|
|
47
|
+
- Even just [share a link to Maid](https://twitter.com/intent/tweet?related=maidgem&text=Be+lazy%21+Let+Maid+clean+up+after+you%2C+based+on+rules+you+define&url=https%3A%2F%2Fgithub.com%2Fmaid%2Fmaid) :)
|
|
48
48
|
|
|
49
49
|
### For Developers
|
|
50
50
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
- Address a `TODO` or `FIXME` in the code (list them with `rake notes`.)
|
|
52
|
+
- Fix an [existing issue](https://github.com/maid/maid/issues)
|
|
53
|
+
- **Working on an issue?** Please leave a comment so others know.
|
|
54
|
+
- See the [Contributing guide](https://github.com/maid/maid/wiki/Contributing)
|
|
55
55
|
|
|
56
56
|
## Buzz
|
|
57
57
|
|
|
@@ -75,7 +75,7 @@ This project wouldn't be where it is today without its users and contributors.
|
|
|
75
75
|
|
|
76
76
|
## Installation
|
|
77
77
|
|
|
78
|
-
Maid is a gem, so just `gem install maid` like normal.
|
|
78
|
+
Maid is a gem, so just `gem install maid` like normal. If you're unfamiliar with Ruby, please see below for details.
|
|
79
79
|
|
|
80
80
|
#### Requirements
|
|
81
81
|
|
|
@@ -83,10 +83,10 @@ Modern Ruby versions and Unix-like operating systems should work, but only OS X
|
|
|
83
83
|
|
|
84
84
|
Offically supported:
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
- **OS:** Mac OS X, Ubuntu
|
|
87
|
+
- **Ruby:** 2.7.0+ (3.0.0+ preferred)
|
|
88
88
|
|
|
89
|
-
Some features require OS X.
|
|
89
|
+
Some features require OS X. See the [documentation][] for more details.
|
|
90
90
|
|
|
91
91
|
### Manual Installation
|
|
92
92
|
|
|
@@ -95,7 +95,7 @@ strongly recommend going for Ruby 3 as 2.7 is EOL.
|
|
|
95
95
|
|
|
96
96
|
Consider using [`rvm`](https://rvm.io/rvm/install), [`rbenv`](https://github.com/rbenv/rbenv#installation), [`rtx`](https://github.com/jdxcode/rtx), or [any other version management tool](https://github.com/bernardoduarte/awesome-version-managers).
|
|
97
97
|
|
|
98
|
-
Then, install via RubyGems.
|
|
98
|
+
Then, install via RubyGems. Open a terminal and run:
|
|
99
99
|
|
|
100
100
|
```bash
|
|
101
101
|
gem install maid
|
|
@@ -113,13 +113,13 @@ If you decide you don't want Maid installed anymore, remove it:
|
|
|
113
113
|
gem uninstall maid
|
|
114
114
|
```
|
|
115
115
|
|
|
116
|
-
**NOTE:** This does not remove any files under `~/.maid` or crontab entries.
|
|
116
|
+
**NOTE:** This does not remove any files under `~/.maid` or crontab entries. Please remove them at your convenience.
|
|
117
117
|
|
|
118
118
|
### Install through RVM and a dedicated gemset
|
|
119
119
|
|
|
120
|
-
Install Ruby 3.
|
|
120
|
+
Install Ruby 3.3 and create a gemset:
|
|
121
121
|
|
|
122
|
-
`rvm install ruby-3.
|
|
122
|
+
`rvm install ruby-3.3 && rvm use 3.3 && rvm gemset create maid && rvm alias create maid ruby-3.2@maid`
|
|
123
123
|
|
|
124
124
|
Install maid:
|
|
125
125
|
|
|
@@ -131,11 +131,11 @@ Update maid:
|
|
|
131
131
|
|
|
132
132
|
Update ruby:
|
|
133
133
|
|
|
134
|
-
`rvm install ruby-3.
|
|
134
|
+
`rvm install ruby-3.4 && rvm gemset copy 3.{3,4}@maid && rvm alias maid 3.4@maid`
|
|
135
135
|
|
|
136
136
|
## Tutorial
|
|
137
137
|
|
|
138
|
-
In a nutshell, Maid uses "rules" to define how files are handled.
|
|
138
|
+
In a nutshell, Maid uses "rules" to define how files are handled. Once you have rules defined, you can either test what
|
|
139
139
|
cleaning would do (`maid clean -n`) or actually clean (`maid clean -f`).
|
|
140
140
|
|
|
141
141
|
To generate a [sample rules file](lib/maid/rules.sample.rb), run:
|
|
@@ -172,7 +172,7 @@ Maid.rules do
|
|
|
172
172
|
end
|
|
173
173
|
```
|
|
174
174
|
|
|
175
|
-
Before you start running your rules, you'll likely want to be able to test them.
|
|
175
|
+
Before you start running your rules, you'll likely want to be able to test them. Here's how:
|
|
176
176
|
|
|
177
177
|
```bash
|
|
178
178
|
# No actions are taken; you just see what would happen with your rules as defined.
|
|
@@ -206,14 +206,14 @@ mv "/Users/ben/Downloads/issue12.pdf" "/Users/ben/Books/"
|
|
|
206
206
|
mv "/Users/ben/Downloads/spring2011newsletter.pdf" "/Users/ben/Books/"
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
For help with command line usage, run `maid help`.
|
|
209
|
+
For help with command line usage, run `maid help`. For more help, please see the links at the top of this README.
|
|
210
210
|
|
|
211
211
|
### Automation
|
|
212
212
|
|
|
213
|
-
Once you get a hang for what you can do with Maid, let it do its stuff automatically throughout the day.
|
|
213
|
+
Once you get a hang for what you can do with Maid, let it do its stuff automatically throughout the day. You'll find
|
|
214
214
|
your computer stays a little tidier with as you teach it how to handle your common files.
|
|
215
215
|
|
|
216
|
-
**Note:** Daemon support (using `fsevent`/`inotify`) was recently added.
|
|
216
|
+
**Note:** Daemon support (using `fsevent`/`inotify`) was recently added. That said, `cron` takes care of the needs of many users.
|
|
217
217
|
|
|
218
218
|
To do this, edit your crontab in your tool of choice:
|
|
219
219
|
|
|
@@ -221,8 +221,8 @@ To do this, edit your crontab in your tool of choice:
|
|
|
221
221
|
crontab -e
|
|
222
222
|
```
|
|
223
223
|
|
|
224
|
-
...and have it invoke the `maid clean -f` command.
|
|
225
|
-
desired.
|
|
224
|
+
...and have it invoke the `maid clean -f` command. The `--silent` option is provided to keep this from emailing you, if
|
|
225
|
+
desired. A log of the actions taken is kept at `~/.maid/maid.log`.
|
|
226
226
|
|
|
227
227
|
Example for every day at 1am:
|
|
228
228
|
|
|
@@ -272,7 +272,7 @@ Maid.rules do
|
|
|
272
272
|
end
|
|
273
273
|
```
|
|
274
274
|
|
|
275
|
-
The command to run the daemon is `maid daemon`.
|
|
275
|
+
The command to run the daemon is `maid daemon`. Starting the daemon on login depends on the platform.
|
|
276
276
|
|
|
277
277
|
#### With RVM and cron
|
|
278
278
|
|
|
@@ -294,11 +294,11 @@ You can run `maid daemon` as a normal startup application (Power/Gear Menu -> St
|
|
|
294
294
|
|
|
295
295
|
#### OS X
|
|
296
296
|
|
|
297
|
-
Please see Jurriaan Pruis' blog post, [Maid as a Daemon on OS X](https://web.archive.org/web/20191228181605/jurriaan.ninja/2015/01/01/maid-on-os-x.html).
|
|
297
|
+
Please see Jurriaan Pruis' blog post, [Maid as a Daemon on OS X](https://web.archive.org/web/20191228181605/jurriaan.ninja/2015/01/01/maid-on-os-x.html). ([Automating this setup would be welcome as a pull request!](https://github.com/maid/maid/issues/136))
|
|
298
298
|
|
|
299
299
|
### Rake Tasks
|
|
300
300
|
|
|
301
|
-
Maid includes helpers that make file managment easier.
|
|
301
|
+
Maid includes helpers that make file managment easier. You may find them useful if you need to automate tasks in your Ruby projects. This is available via support for Maid-based Rake tasks:
|
|
302
302
|
|
|
303
303
|
```ruby
|
|
304
304
|
# File: Rakefile
|
|
@@ -330,6 +330,6 @@ ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
|
330
330
|
|
|
331
331
|
## License
|
|
332
332
|
|
|
333
|
-
GPLv2.
|
|
333
|
+
GPLv2. See LICENSE for a copy.
|
|
334
334
|
|
|
335
|
-
|
|
335
|
+
[documentation]: https://www.rubydoc.info/github/maid/maid/master
|
data/lib/maid/version.rb
CHANGED
data/maid.gemspec
CHANGED
|
@@ -2,17 +2,17 @@ $:.push File.expand_path('lib', __dir__)
|
|
|
2
2
|
require 'maid/version'
|
|
3
3
|
|
|
4
4
|
Gem::Specification.new do |s|
|
|
5
|
-
s.name
|
|
6
|
-
s.version
|
|
7
|
-
s.platform
|
|
8
|
-
s.authors
|
|
9
|
-
s.email
|
|
10
|
-
s.license
|
|
11
|
-
s.homepage
|
|
12
|
-
s.summary
|
|
5
|
+
s.name = 'maid'
|
|
6
|
+
s.version = Maid::VERSION
|
|
7
|
+
s.platform = Gem::Platform::RUBY
|
|
8
|
+
s.authors = ['Benjamin Oakes', 'Coaxial']
|
|
9
|
+
s.email = ['hello@benjaminoakes.com', 'c+rubygems@64b.it']
|
|
10
|
+
s.license = 'GPL-2.0-only'
|
|
11
|
+
s.homepage = 'http://github.com/maid/maid'
|
|
12
|
+
s.summary = 'Keep your filesystem clean by running custom rules periodically'
|
|
13
13
|
s.description = Maid::SUMMARY
|
|
14
|
-
s.files
|
|
15
|
-
s.metadata
|
|
14
|
+
s.files = Dir['lib/**/*.rb'] + Dir['bin/maid']
|
|
15
|
+
s.metadata = {
|
|
16
16
|
'bug_tracker_uri' => 'https://github.com/maid/maid/issues',
|
|
17
17
|
'changelog_uri' => 'https://github.com/maid/maid/blob/master/CHANGELOG.md',
|
|
18
18
|
'documentation_uri' => 'https://github.com/maid/maid/blob/master/README.md',
|
|
@@ -21,7 +21,7 @@ Gem::Specification.new do |s|
|
|
|
21
21
|
'rubygems_mfa_required' => 'true',
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
s.required_ruby_version = '>= 3.
|
|
24
|
+
s.required_ruby_version = '>= 3.3.0'
|
|
25
25
|
|
|
26
26
|
# Strategy: if possible, use ranges (so there are fewer chances of version conflicts)
|
|
27
27
|
s.add_dependency('deprecated', '~> 3.0.0')
|
|
@@ -76,8 +76,8 @@ Gem::Specification.new do |s|
|
|
|
76
76
|
s.add_development_dependency('rb-fsevent', '~> 0.11.2')
|
|
77
77
|
s.add_development_dependency('rb-inotify', '~> 0.10.1')
|
|
78
78
|
|
|
79
|
-
s.files
|
|
80
|
-
s.executables
|
|
79
|
+
s.files = `git ls-files -z`.split("\0")
|
|
80
|
+
s.executables = `git ls-files -z -- bin/*`.split("\0").map { |f| File.basename(f) }
|
|
81
81
|
s.require_paths = %w[lib]
|
|
82
82
|
|
|
83
83
|
s.post_install_message = "🙏 Thank you for installing Maid, we hope it's " \
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: maid
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.12.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Benjamin Oakes
|
|
8
8
|
- Coaxial
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-10-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: deprecated
|
|
@@ -659,7 +659,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
659
659
|
requirements:
|
|
660
660
|
- - ">="
|
|
661
661
|
- !ruby/object:Gem::Version
|
|
662
|
-
version: 3.
|
|
662
|
+
version: 3.3.0
|
|
663
663
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
664
664
|
requirements:
|
|
665
665
|
- - ">="
|