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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f06b2e8a1e67b8d0551b23f60e57f2be5cf708f4697af73132d35b28deea335
4
- data.tar.gz: 18a2f0976a81595f7c499f440d748aa755289c06b2ba07769524f3625f5ff401
3
+ metadata.gz: ebc7fa231d81d30b4717ace2c4f25cb8930415d48c22b16977629de78ad96748
4
+ data.tar.gz: 427f6c1b56b859df231de5c4e211e6b1af3177b8e78929afaac40eacff80e15a
5
5
  SHA512:
6
- metadata.gz: b6f0a162c7f37c351d0ab1386ee3acb736008015c5307e41ee1d7ea470f8b3cce68cff2f9a2579df3eed18cc4d9caafec721622d013f0276e1eb06a8bb91eea2
7
- data.tar.gz: 32ee3e34ceabf430e3bfc17ae0bab8b5ae22ebcbf3b69050c0849d7d6b2a1fedeb95d0ca2041460c35a453173df991486ecfa57fa7bf195ee5d91926eb5f1291
6
+ metadata.gz: 45bd46b25645e716a0bdc4e334d77e16ba491e935717332417fccbe6c7357decdee5dc5ce555baba9ac80756513802865017da27a5b036454632a2b27152f0fc
7
+ data.tar.gz: 1116b96df0b3d0f17d8762f107c26609d881242224685682adfc8b42b0a0de7adee930edba494202d41b42f46f60fd1826cb9e5c35a5ba3e2b8a016612f33b69
data/.commitlintrc.json CHANGED
@@ -2,6 +2,7 @@
2
2
  "extends": ["@commitlint/config-conventional"],
3
3
  "rules": {
4
4
  "body-max-line-length": [0, "always", 100],
5
- "subject-case": [2, "always", "sentence-case"]
5
+ "subject-case": [2, "always", "sentence-case"],
6
+ "subject-exclamation-mark": [2, "never"]
6
7
  }
7
8
  }
@@ -15,12 +15,11 @@ jobs:
15
15
  strategy:
16
16
  matrix:
17
17
  os:
18
- - ubuntu-22.04
19
18
  - ubuntu-24.04
20
- - macos-14
19
+ - ubuntu-26.04
21
20
  - macos-15
21
+ - macos-26
22
22
  ruby-version:
23
- - "3.2"
24
23
  - "3.3"
25
24
  - "3.4"
26
25
  runs-on: ${{ matrix.os }}
data/.gitignore CHANGED
@@ -7,3 +7,4 @@ doc/*
7
7
  .act-secrets
8
8
  coverage/
9
9
  guard_*_runner*
10
+ vendor/
data/.releaserc.json CHANGED
@@ -1,10 +1,25 @@
1
1
  {
2
- "branches": [
3
- "master"
4
- ],
2
+ "branches": ["master"],
5
3
  "plugins": [
6
- "@semantic-release/commit-analyzer",
7
- "@semantic-release/release-notes-generator",
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
@@ -13,7 +13,7 @@ AllCops:
13
13
  - "vendor/bundle/**/*" # when running on GH Actions
14
14
  - ".vagrant/**/*"
15
15
  NewCops: enable
16
- TargetRubyVersion: "3.2"
16
+ TargetRubyVersion: "3.3"
17
17
 
18
18
  Metrics/BlockLength:
19
19
  Exclude:
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
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- maid (0.11.3)
4
+ maid (0.12.0)
5
5
  deprecated (~> 3.0.0)
6
6
  dimensions (>= 1.0.0, < 2.0)
7
7
  escape (>= 0.0.1, < 0.1.0)
data/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  [![Code Coverage](https://qlty.sh/gh/maid/projects/maid/coverage.svg)](https://qlty.sh/gh/maid/projects/maid)
10
10
  [![StackOverflow](http://img.shields.io/badge/stackoverflow-maid-blue.svg)](http://stackoverflow.com/questions/tagged/maid)
11
11
 
12
- **Be lazy!** Let Maid clean up after you, based on rules you define.
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. 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
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. 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.
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). Think of Maid as
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. This also makes Maid a great
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. Thank you! See [AUTHORS][] and the
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
- [authors]: https://github.com/maid/maid/blob/master/AUTHORS.md
40
- [contributors graph]: https://github.com/maid/maid/graphs/contributors
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
- * 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) :)
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
- * 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)
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. If you're unfamiliar with Ruby, please see below for details.
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
- * **OS:** Mac OS X, Ubuntu
87
- * **Ruby:** 2.7.0+ (3.0.0+ preferred)
86
+ - **OS:** Mac OS X, Ubuntu
87
+ - **Ruby:** 2.7.0+ (3.0.0+ preferred)
88
88
 
89
- Some features require OS X. See the [documentation][] for more details.
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. Open a terminal and run:
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. Please remove them at your convenience.
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.2 and create a gemset:
120
+ Install Ruby 3.3 and create a gemset:
121
121
 
122
- `rvm install ruby-3.2 && rvm use 3.2 && rvm gemset create maid && rvm alias create maid ruby-3.2@maid`
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.3 && rvm gemset copy 3.{2,3}@maid && rvm alias maid 3.3@maid`
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. Once you have rules defined, you can either test what
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. Here's how:
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`. For more help, please see the links at the top of this README.
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. You'll find
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. That said, `cron` takes care of the needs of many users.
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. 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`.
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`. Starting the daemon on login depends on the platform.
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). ([Automating this setup would be welcome as a pull request!](https://github.com/maid/maid/issues/136))
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. 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:
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. See LICENSE for a copy.
333
+ GPLv2. See LICENSE for a copy.
334
334
 
335
- [documentation]: https://www.rubydoc.info/github/maid/maid/master
335
+ [documentation]: https://www.rubydoc.info/github/maid/maid/master
data/lib/maid/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Maid
4
- VERSION = '0.11.3'
4
+ VERSION = '0.12.0'
5
5
  SUMMARY = 'Be lazy. Let Maid clean up after you, based on rules you define. ' \
6
6
  'Think of it as "Hazel for hackers".'
7
7
  end
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 = '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'
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 = Dir['lib/**/*.rb'] + Dir['bin/maid']
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.2.0'
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 = `git ls-files -z`.split("\0")
80
- s.executables = `git ls-files -z -- bin/*`.split("\0").map { |f| File.basename(f) }
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.11.3
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-09-10 00:00:00.000000000 Z
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.2.0
662
+ version: 3.3.0
663
663
  required_rubygems_version: !ruby/object:Gem::Requirement
664
664
  requirements:
665
665
  - - ">="