maid 0.11.2 → 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: 479757df2dd129b8ef466d7bf3af093bc778b8c83cdea5fc595b5ad01da5c26d
4
- data.tar.gz: 96858a78a26b66854433e7b8e60c60d1c2c7fbdc40ec8bae66f9cb7ee89ad831
3
+ metadata.gz: ebc7fa231d81d30b4717ace2c4f25cb8930415d48c22b16977629de78ad96748
4
+ data.tar.gz: 427f6c1b56b859df231de5c4e211e6b1af3177b8e78929afaac40eacff80e15a
5
5
  SHA512:
6
- metadata.gz: 54abf67a7d658986d21f500d54949a344e7dbd39f1879ab8f39d92dd03eb10cdd465f0a8730398cbd6767e48001f5deb3511685ba6a76bd179e80da27c5f6862
7
- data.tar.gz: 468c5bcd0cbbe7e4ee4470e14378d791e73b4864ab4c6615d2a190b905a2d819260832af60ac4b75c89da50baab95504761062811a11f71e4bee33f36db4711a
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,22 @@
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
+
13
+ ## [0.11.3](https://github.com/maid/maid/compare/v0.11.2...v0.11.3) (2026-09-10)
14
+
15
+
16
+ ### Bug Fixes
17
+
18
+ * **thor:** Return failure status for invalid switches ([#356](https://github.com/maid/maid/issues/356)) ([3443d42](https://github.com/maid/maid/commit/3443d424a4602284b0e499a0bf81db006578a3ba))
19
+
1
20
  ## [0.11.2](https://github.com/maid/maid/compare/v0.11.1...v0.11.2) (2025-11-29)
2
21
 
3
22
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- maid (0.11.2)
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
@@ -1,5 +1,7 @@
1
1
  # Maid
2
2
 
3
+ [![Sponsored by CloudBreak](https://cloudbreak.app/promotional_banner.svg?source=maid_readme)](https://cloudbreak.app/promotional_banner/visit?source=maid_readme)
4
+
3
5
  [![Gem Version](https://badge.fury.io/rb/maid.svg)](https://badge.fury.io/rb/maid)
4
6
  ![GitHub Release](https://img.shields.io/github/v/release/maid/maid)
5
7
  [![Test](https://github.com/maid/maid/actions/workflows/test.yml/badge.svg)](https://github.com/maid/maid/actions/workflows/test.yml)
@@ -7,7 +9,7 @@
7
9
  [![Code Coverage](https://qlty.sh/gh/maid/projects/maid/coverage.svg)](https://qlty.sh/gh/maid/projects/maid)
8
10
  [![StackOverflow](http://img.shields.io/badge/stackoverflow-maid-blue.svg)](http://stackoverflow.com/questions/tagged/maid)
9
11
 
10
- **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.
11
13
 
12
14
  [Installation](#installation)
13
15
  | [Tutorial](#tutorial)
@@ -16,40 +18,40 @@
16
18
  | [Documentation][]
17
19
  | [Changelog](CHANGELOG.md)
18
20
 
19
- Maid keeps files from sitting around too long, untouched. Many of the downloads and temporary files you collect can
20
- 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
21
23
  easy stuff, so you can spend more of your time on what matters.
22
24
 
23
- Think of it like the email filters you might already have, but for files. Worried about things happening that you don't
24
- 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.
25
27
 
26
- 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
27
29
  **"Hazel for hackers"**.
28
30
 
29
- 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
30
32
  general-purpose **advanced file renaming tool**.
31
33
 
32
34
  ## Want to help?
33
35
 
34
- 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
35
37
  [contributors graph][] for more info.
36
38
 
37
- [authors]: https://github.com/maid/maid/blob/master/AUTHORS.md
38
- [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
39
41
 
40
42
  ### For Users
41
43
 
42
- * Participate in [beta testing](https://github.com/maid/maid/issues/10)
43
- * [Report an issue](https://github.com/maid/maid/issues) (bug or feature request)
44
- * Read through the [wiki](https://github.com/maid/maid/wiki)
45
- * 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) :)
46
48
 
47
49
  ### For Developers
48
50
 
49
- * Address a `TODO` or `FIXME` in the code (list them with `rake notes`.)
50
- * Fix an [existing issue](https://github.com/maid/maid/issues)
51
- * **Working on an issue?** Please leave a comment so others know.
52
- * 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)
53
55
 
54
56
  ## Buzz
55
57
 
@@ -73,7 +75,7 @@ This project wouldn't be where it is today without its users and contributors.
73
75
 
74
76
  ## Installation
75
77
 
76
- 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.
77
79
 
78
80
  #### Requirements
79
81
 
@@ -81,10 +83,10 @@ Modern Ruby versions and Unix-like operating systems should work, but only OS X
81
83
 
82
84
  Offically supported:
83
85
 
84
- * **OS:** Mac OS X, Ubuntu
85
- * **Ruby:** 2.7.0+ (3.0.0+ preferred)
86
+ - **OS:** Mac OS X, Ubuntu
87
+ - **Ruby:** 2.7.0+ (3.0.0+ preferred)
86
88
 
87
- Some features require OS X. See the [documentation][] for more details.
89
+ Some features require OS X. See the [documentation][] for more details.
88
90
 
89
91
  ### Manual Installation
90
92
 
@@ -93,7 +95,7 @@ strongly recommend going for Ruby 3 as 2.7 is EOL.
93
95
 
94
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).
95
97
 
96
- Then, install via RubyGems. Open a terminal and run:
98
+ Then, install via RubyGems. Open a terminal and run:
97
99
 
98
100
  ```bash
99
101
  gem install maid
@@ -111,13 +113,13 @@ If you decide you don't want Maid installed anymore, remove it:
111
113
  gem uninstall maid
112
114
  ```
113
115
 
114
- **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.
115
117
 
116
118
  ### Install through RVM and a dedicated gemset
117
119
 
118
- Install Ruby 3.2 and create a gemset:
120
+ Install Ruby 3.3 and create a gemset:
119
121
 
120
- `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`
121
123
 
122
124
  Install maid:
123
125
 
@@ -129,11 +131,11 @@ Update maid:
129
131
 
130
132
  Update ruby:
131
133
 
132
- `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`
133
135
 
134
136
  ## Tutorial
135
137
 
136
- 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
137
139
  cleaning would do (`maid clean -n`) or actually clean (`maid clean -f`).
138
140
 
139
141
  To generate a [sample rules file](lib/maid/rules.sample.rb), run:
@@ -170,7 +172,7 @@ Maid.rules do
170
172
  end
171
173
  ```
172
174
 
173
- 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:
174
176
 
175
177
  ```bash
176
178
  # No actions are taken; you just see what would happen with your rules as defined.
@@ -204,14 +206,14 @@ mv "/Users/ben/Downloads/issue12.pdf" "/Users/ben/Books/"
204
206
  mv "/Users/ben/Downloads/spring2011newsletter.pdf" "/Users/ben/Books/"
205
207
  ```
206
208
 
207
- 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.
208
210
 
209
211
  ### Automation
210
212
 
211
- 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
212
214
  your computer stays a little tidier with as you teach it how to handle your common files.
213
215
 
214
- **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.
215
217
 
216
218
  To do this, edit your crontab in your tool of choice:
217
219
 
@@ -219,8 +221,8 @@ To do this, edit your crontab in your tool of choice:
219
221
  crontab -e
220
222
  ```
221
223
 
222
- ...and have it invoke the `maid clean -f` command. The `--silent` option is provided to keep this from emailing you, if
223
- 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`.
224
226
 
225
227
  Example for every day at 1am:
226
228
 
@@ -270,7 +272,7 @@ Maid.rules do
270
272
  end
271
273
  ```
272
274
 
273
- 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.
274
276
 
275
277
  #### With RVM and cron
276
278
 
@@ -292,11 +294,11 @@ You can run `maid daemon` as a normal startup application (Power/Gear Menu -> St
292
294
 
293
295
  #### OS X
294
296
 
295
- 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))
296
298
 
297
299
  ### Rake Tasks
298
300
 
299
- 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:
300
302
 
301
303
  ```ruby
302
304
  # File: Rakefile
@@ -328,6 +330,6 @@ ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
328
330
 
329
331
  ## License
330
332
 
331
- GPLv2. See LICENSE for a copy.
333
+ GPLv2. See LICENSE for a copy.
332
334
 
333
- [documentation]: https://www.rubydoc.info/github/maid/maid/master
335
+ [documentation]: https://www.rubydoc.info/github/maid/maid/master
data/lib/maid/app.rb CHANGED
@@ -2,10 +2,14 @@ require 'fileutils'
2
2
 
3
3
  require 'thor'
4
4
 
5
- class Maid::App < Thor
5
+ class Maid::App < Thor # rubocop:disable Metrics/ClassLength
6
6
  check_unknown_options!
7
7
  default_task 'introduction'
8
8
 
9
+ def self.exit_on_failure?
10
+ true
11
+ end
12
+
9
13
  desc 'introduction', 'Become aquainted with maid'
10
14
  def introduction
11
15
  say <<~EOF
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.2'
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 " \
@@ -27,6 +27,17 @@ ensure
27
27
  $stderr = STDERR
28
28
  end
29
29
 
30
+ def capture_stderr_and_exit_status
31
+ out = StringIO.new
32
+ $stderr = out
33
+ yield
34
+ [out.string, 0]
35
+ rescue SystemExit => e
36
+ [out.string, e.status]
37
+ ensure
38
+ $stderr = STDERR
39
+ end
40
+
30
41
  module Maid
31
42
  describe App, '#clean' do
32
43
  before do
@@ -74,12 +85,22 @@ module Maid
74
85
  end
75
86
 
76
87
  it 'complains about a MISSPELLED option' do
77
- expect(capture_stderr { App.start(['clean', '--slient']) }).to match(/Unknown/)
78
- expect(capture_stderr { App.start(['clean', '--noop', '--slient']) }).to match(/Unknown/)
88
+ [
89
+ ['clean', '--slient'],
90
+ ['clean', '--noop', '--slient'],
91
+ ].each do |arguments|
92
+ message, exit_status = capture_stderr_and_exit_status { App.start(arguments) }
93
+
94
+ expect(message).to match(/Unknown/)
95
+ expect(exit_status).to eq(1)
96
+ end
79
97
  end
80
98
 
81
99
  it 'complains about an undefined task' do
82
- expect(capture_stderr { App.start(['rules.rb']) }).to match(/Could not find/)
100
+ message, exit_status = capture_stderr_and_exit_status { App.start(['rules.rb']) }
101
+
102
+ expect(message).to match(/Could not find/)
103
+ expect(exit_status).to eq(1)
83
104
  end
84
105
  end
85
106
 
@@ -97,6 +118,13 @@ module Maid
97
118
  expect(App.start(['--version'])).to eq(@app.version)
98
119
  end
99
120
 
121
+ it 'exits unsuccessfully for an invalid switch' do
122
+ message, exit_status = capture_stderr_and_exit_status { App.start(['-version']) }
123
+
124
+ expect(message).to match(/Unknown switches "-version"/)
125
+ expect(exit_status).to eq(1)
126
+ end
127
+
100
128
  context 'with the "long" option' do
101
129
  before do
102
130
  # FIXME: This is ugly. Maybe use `Maid.start(%w(version --long))` instead.
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.2
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: 2025-11-29 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
  - - ">="