sanitize_email 2.0.11 → 2.0.12

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: 1e6d63e93062c0547e5177ee1bcf3a854cb68196a49b86332297bbdd10e10afb
4
- data.tar.gz: 3c65b2465ea81c6204524f7a2f57f3681212ff53598920caa675fbc410159fd3
3
+ metadata.gz: 9307cb56be3bde5294d38c2c1fb823458f458ea1db6e0868c55638b4b3126089
4
+ data.tar.gz: 9d9d4aa8f7e9d95c0b972cae2fa82037af0ee1f0cf55b9240f65028069b2fa99
5
5
  SHA512:
6
- metadata.gz: d3260192f60a3e2466ccb6338c1fd4f5913dcb87110e458006b42c68af7c3d5ebf898bdbecd1d24f40b3745dcd53995e0c11e0a4178443a798369ce0d03f8d73
7
- data.tar.gz: 40967af8eb1b26da3ab0467852284a86330725ce3bc2a86ea71f570a816689114844279bdca87ea2a9867d3c83c6f1158d2b3405c7a77147f2a3096206be85ce
6
+ metadata.gz: 0521e2513ab55d62be47c2957f88509a5ca299bdf11875f7d75b1cddfe52ccbef04e96becafa684c4bf41ad8ee94155eb99217a72178dbc1f9d6613295a6ce39
7
+ data.tar.gz: b68b04b772ff25d83d095365ad357a809aa530832626a19d0296c38517834c7f3e4748c379ecd400683ad64b8fce6b42a3d6aff26674ebcbcd25283723dfe884
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -30,6 +30,26 @@ Please file a bug if you notice a violation of semantic versioning.
30
30
 
31
31
  ### Security
32
32
 
33
+ ## [2.0.12] - 2026-06-14
34
+
35
+ - TAG: [v2.0.12][2.0.12t]
36
+ - COVERAGE: 94.87% -- 259/273 lines in 7 files
37
+ - BRANCH COVERAGE: 81.19% -- 82/101 branches in 7 files
38
+ - 51.14% documented
39
+
40
+ ### Changed
41
+
42
+ - Refreshed generated project metadata, support documentation and README
43
+ badges, funding metadata, documentation URLs, CI workflow pins and matrices,
44
+ `docs/CNAME`, and development dependency floors from the latest `kettle-jem`
45
+ template.
46
+
47
+ ### Fixed
48
+
49
+ - Honored explicit per-call `activation_proc` and `engage` options in `SanitizeEmail.sanitary`, and restored temporary sanitization state when a delivery raises.
50
+ - Preserved the Rails environment activation override in sanitizer specs so
51
+ test setup matches configured activation behavior.
52
+
33
53
  ## [2.0.11] - 2026-05-28
34
54
 
35
55
  - TAG: [v2.0.11][2.0.11t]
@@ -441,7 +461,9 @@ Old version?
441
461
  * Fixed require paths
442
462
  * added about.yml and this CHANGELOG
443
463
 
444
- [Unreleased]: https://github.com/galtzo-floss/sanitize_email/compare/v2.0.11...HEAD
464
+ [Unreleased]: https://github.com/galtzo-floss/sanitize_email/compare/v2.0.12...HEAD
465
+ [2.0.12]: https://github.com/galtzo-floss/sanitize_email/compare/v2.0.11...v2.0.12
466
+ [2.0.12t]: https://github.com/galtzo-floss/sanitize_email/releases/tag/v2.0.12
445
467
  [2.0.11]: https://github.com/galtzo-floss/sanitize_email/compare/v2.0.10...v2.0.11
446
468
  [2.0.11t]: https://github.com/galtzo-floss/sanitize_email/releases/tag/v2.0.11
447
469
  [2.0.10]: https://github.com/galtzo-floss/sanitize_email/compare/v2.0.9...v2.0.10
data/CITATION.cff CHANGED
@@ -12,9 +12,9 @@ authors:
12
12
  orcid: 'https://orcid.org/0009-0008-8519-441X'
13
13
  identifiers:
14
14
  - type: url
15
- value: 'https://github.com/galtzo-floss/sanitize_email/tree/main/gems/sanitize_email'
15
+ value: 'https://github.com/galtzo-floss/sanitize_email'
16
16
  description: "sanitize_email"
17
- repository-code: 'https://github.com/galtzo-floss/sanitize_email/tree/main/gems/sanitize_email'
17
+ repository-code: 'https://github.com/galtzo-floss/sanitize_email'
18
18
  abstract: >-
19
19
  sanitize_email
20
20
  license: See license file
data/CONTRIBUTING.md CHANGED
@@ -102,13 +102,29 @@ Git hooks and commit message helpers (exe/kettle-commit-msg)
102
102
  - GIT_HOOK_FOOTER_SENTINEL: Required when footer append is enabled — a unique first-line sentinel to prevent duplicates
103
103
  - GIT_HOOK_FOOTER_APPEND_DEBUG: Extra debug output in the footer template (true/false)
104
104
 
105
+ Git diff driver setup
106
+ - Local setup writes repository `.gitattributes` entries and local Git `diff.smorg-*` command config so this checkout uses StructuredMerge semantic diffs.
107
+ - Global setup registers `diff.smorg-*` commands once in the user Git config; use it when you work across several StructuredMerge-enabled repositories.
108
+ - Include-file setup writes `.git/smorg/config` and includes it from local Git config, keeping command registrations out of the repository files.
109
+ - Git hosting forges generally ignore external diff drivers, so pull request views may still show raw textual diffs even when local `git diff` uses semantic drivers.
110
+
111
+ ```console
112
+ K_JEM_TEMPLATING=true bundle exec kettle-jem install
113
+ ```
114
+
115
+ Troubleshooting Git diffs
116
+ - Use `git diff --no-ext-diff` to compare against Git's built-in diff output.
117
+ - Use `git diff --no-textconv` when a textconv projection obscures the raw file bytes you need to inspect.
118
+ - If Git reports a missing `smorg-*` executable, rerun `bundle install` and the setup command above, then check `git config --local --get-regexp '^diff\.smorg-'`.
119
+ - To remove managed local entries, run `K_JEM_TEMPLATING=true bundle exec kettle-jem install --undo`; remove global command registrations with `git config --global --unset-all diff.smorg-ruby.command`.
120
+
105
121
  For a quick starting point, this repository’s `mise.toml` defines the shared defaults, and `.env.local` can override them locally. Copy `.env.local.example` to `.env.local`, use `KEY=value` lines, and either activate `mise` in your shell or run commands through `mise exec -C /path/to/project -- ...`.
106
122
 
107
123
  ## Appraisals
108
124
 
109
125
  From time to time the [appraisal2][🚎appraisal2] gemfiles in `gemfiles/` will need to be updated.
110
126
  Generated appraisal and CI workflow floors are controlled by `ruby.test_minimum`
111
- in `.kettle-jem.yml`; this project was templated with `ruby.test_minimum: 2.4`.
127
+ in `.structuredmerge/kettle-jem.yml`; this project was templated with `ruby.test_minimum: 2.4`.
112
128
  That value describes the lowest Ruby version expected to run the test/development
113
129
  toolchain, and it may be higher than the gemspec runtime floor.
114
130
 
@@ -233,9 +249,9 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
233
249
  14. Run `bundle exec rake release` which will create a git tag for the version,
234
250
  push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
235
251
 
236
- [📜src-gl]: https://gitlab.com/galtzo-floss/sanitize_email/-/tree/main/gems/sanitize_email
237
- [📜src-cb]: https://codeberg.org/galtzo-floss/sanitize_email/src/branch/main/gems/sanitize_email
238
- [📜src-gh]: https://github.com/galtzo-floss/sanitize_email/tree/main/gems/sanitize_email
252
+ [📜src-gl]: https://gitlab.com/galtzo-floss/sanitize_email
253
+ [📜src-cb]: https://codeberg.org/galtzo-floss/sanitize_email
254
+ [📜src-gh]: https://github.com/galtzo-floss/sanitize_email
239
255
  [🧪build]: https://github.com/galtzo-floss/sanitize_email/actions
240
256
  [🤝conduct]: https://github.com/galtzo-floss/sanitize_email/blob/main/CODE_OF_CONDUCT.md
241
257
  [🖐contrib-rocks]: https://contrib.rocks
data/FUNDING.md CHANGED
@@ -4,12 +4,16 @@ Official Discord 👉️ [![Live Chat on Discord][✉️discord-invite-img]][✉
4
4
 
5
5
  Many paths lead to being a sponsor or a backer of this project. Are you on such a path?
6
6
 
7
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal]
7
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal]
8
8
 
9
9
  [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
10
10
 
11
11
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
12
12
  [⛳liberapay]: https://liberapay.com/pboling/donate
13
+ [🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
14
+ [🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
15
+ [🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
16
+ [🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
13
17
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
14
18
  [🖇sponsor]: https://github.com/sponsors/pboling
15
19
  [🖇polar-img]: https://img.shields.io/badge/polar-donate-a51611.svg?style=flat
@@ -42,7 +46,7 @@ To join the community or get help 👇️ Join the Discord.
42
46
 
43
47
  To say "thanks!" ☝️ Join the Discord or 👇️ send money.
44
48
 
45
- [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
49
+ [![Sponsor galtzo-floss/sanitize_email on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
46
50
 
47
51
  # Another Way to Support Open Source Software
48
52
 
@@ -55,6 +59,13 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
55
59
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
56
60
 
57
61
  [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
62
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
63
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
64
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
65
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
66
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
67
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
68
+ [🖇osc]: https://opencollective.com/galtzo-floss
58
69
  [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
59
70
  [🖇buyme-img]: https://img.buymeacoffee.com/button-api/?text=Buy%20me%20a%20latte&emoji=&slug=pboling&button_colour=FFDD00&font_colour=000000&font_family=Cookie&outline_colour=000000&coffee_colour=ffffff
60
71
  [🖇paypal-bottom-img]: https://img.shields.io/badge/donate-paypal-a51611.svg?style=for-the-badge&logo=paypal&color=0A0A0A
data/LICENSE.md CHANGED
@@ -7,16 +7,16 @@ Choose the option that best fits your use case:
7
7
 
8
8
  ## Copyright Notice
9
9
 
10
- Copyright (c) 2008 Peter Boling
11
- Copyright (c) 2009 John Trupiano
12
- Copyright (c) 2009-2010 pboling
13
- Copyright (c) 2009 Peter H. Boling
14
- Copyright (c) 2012 David Morton
15
- Copyright (c) 2012 Harry Lascelles
16
- Copyright (c) 2012-2018, 2022, 2024, 2026 Peter H. Boling
17
- Copyright (c) 2013 Adrien Siami
18
- Copyright (c) 2013 Chris Altman
19
- Copyright (c) 2014 Scott Rocher
20
- Copyright (c) 2017 Marcus Ilgner
21
- Copyright (c) 2018 Bernardo Galindo
22
- Copyright (c) 2024-2025 joeyparis
10
+ - Copyright (c) 2008 Peter Boling
11
+ - Copyright (c) 2009 John Trupiano
12
+ - Copyright (c) 2009-2010 pboling
13
+ - Copyright (c) 2009 Peter H. Boling
14
+ - Copyright (c) 2012 David Morton
15
+ - Copyright (c) 2012 Harry Lascelles
16
+ - Copyright (c) 2012-2018, 2022, 2024, 2026 Peter H. Boling
17
+ - Copyright (c) 2013 Adrien Siami
18
+ - Copyright (c) 2013 Chris Altman
19
+ - Copyright (c) 2014 Scott Rocher
20
+ - Copyright (c) 2017 Marcus Ilgner
21
+ - Copyright (c) 2018 Bernardo Galindo
22
+ - Copyright (c) 2024-2025 joeyparis
data/README.md CHANGED
@@ -1,21 +1,16 @@
1
- [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-floss-i]][🖼️galtzo-floss] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang]
2
-
3
- [🖼️galtzo-floss-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
4
- [🖼️galtzo-floss]: https://discord.gg/3qme4XHNKN
5
- [🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
6
- [🖼️ruby-lang]: https://www.ruby-lang.org/
1
+ <a href="https://github.com/galtzo-floss"><img alt="galtzo-floss Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="12%" align="right"/></a> <a href="https://github.com/galtzo-floss/sanitize_email"><img alt="sanitize_email Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/sanitize_email/avatar-128px.svg" width="12%" align="right"/></a>
7
2
 
8
3
  # 📧 SanitizeEmail
9
4
 
10
5
  [![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
11
6
 
12
- `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][🖼️galtzo-floss], as I may have missed the [discord notification][🖼️galtzo-floss].
7
+ `if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know][✉️discord-invite], as I may have missed the [discord notification][✉️discord-invite].
13
8
 
14
9
  ---
15
10
 
16
11
  `if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
17
12
 
18
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
13
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
19
14
 
20
15
  <details>
21
16
  <summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
@@ -24,7 +19,7 @@ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-ta
24
19
 
25
20
  </details>
26
21
 
27
- ## 🌻 Synopsis
22
+ ## 🌻 Synopsis <a href="https://discord.gg/3qme4XHNKN"><img alt="Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/galtzo-floss/avatar-128px.svg" width="8%" align="right"/></a> <a href="https://ruby-toolbox.com"><img alt="ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5" src="https://logos.galtzo.com/assets/images/ruby-lang/avatar-128px.svg" width="8%" align="right"/></a>
28
23
 
29
24
  It's particularly helpful when you want to prevent the delivery of email (e.g. in development/test environments) or alter the to/cc/bcc (e.g. in staging or demo environments) of all email generated from your application.
30
25
 
@@ -45,7 +40,7 @@ It's particularly helpful when you want to prevent the delivery of email (e.g. i
45
40
  | Works with Truffle Ruby | [![Truffle Ruby 22.3 Compat][💎truby-22.3i]][🚎truby-22.3-wf] [![Truffle Ruby 23.0 Compat][💎truby-23.0i]][🚎truby-23.0-wf] [![Truffle Ruby 23.1 Compat][💎truby-23.1i]][🚎truby-23.1-wf] <br/> [![Truffle Ruby 24.2 Compat][💎truby-24.2i]][🚎truby-24.2-wf] [![Truffle Ruby 25.0 Compat][💎truby-25.0i]][🚎truby-25.0-wf] [![Truffle Ruby current Compat][💎truby-c-i]][🚎9-t-wf]|
46
41
  | Works with MRI Ruby 4 | [![Ruby 4.0 Compat][💎ruby-4.0i]][🚎11-c-wf] [![Ruby current Compat][💎ruby-c-i]][🚎11-c-wf] [![Ruby HEAD Compat][💎ruby-headi]][🚎3-hd-wf]|
47
42
  | Works with MRI Ruby 3 | [![Ruby 3.0 Compat][💎ruby-3.0i]][🚎ruby-3.0-wf] [![Ruby 3.1 Compat][💎ruby-3.1i]][🚎ruby-3.1-wf] [![Ruby 3.2 Compat][💎ruby-3.2i]][🚎ruby-3.2-wf] [![Ruby 3.3 Compat][💎ruby-3.3i]][🚎ruby-3.3-wf] [![Ruby 3.4 Compat][💎ruby-3.4i]][🚎ruby-3.4-wf]|
48
- | Works with MRI Ruby 2 | [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
43
+ | Works with MRI Ruby 2 | ![Ruby 2.3 Compat][💎ruby-2.3i] <br/> [![Ruby 2.4 Compat][💎ruby-2.4i]][🚎ruby-2.4-wf] [![Ruby 2.5 Compat][💎ruby-2.5i]][🚎ruby-2.5-wf] [![Ruby 2.6 Compat][💎ruby-2.6i]][🚎ruby-2.6-wf] [![Ruby 2.7 Compat][💎ruby-2.7i]][🚎ruby-2.7-wf]|
49
44
  | Support & Community | [![Join Me on Daily.dev's RubyFriends][✉️ruby-friends-img]][✉️ruby-friends] [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite] [![Get help from me on Upwork][👨🏼‍🏫expsup-upwork-img]][👨🏼‍🏫expsup-upwork] [![Get help from me on Codementor][👨🏼‍🏫expsup-codementor-img]][👨🏼‍🏫expsup-codementor] |
50
45
  | Source | [![Source on GitLab.com][📜src-gl-img]][📜src-gl] [![Source on CodeBerg.org][📜src-cb-img]][📜src-cb] [![Source on Github.com][📜src-gh-img]][📜src-gh] [![The best SHA: dQw4w9WgXcQ!][🧮kloc-img]][🧮kloc] |
51
46
  | Documentation | [![Current release on RubyDoc.info][📜docs-cr-rd-img]][🚎yard-current] [![YARD on Galtzo.com][📜docs-head-rd-img]][🚎yard-head] [![Maintainer Blog][🚂maint-blog-img]][🚂maint-blog] [![GitLab Wiki][📜gl-wiki-img]][📜gl-wiki] [![GitHub Wiki][📜gh-wiki-img]][📜gh-wiki] |
@@ -66,8 +61,6 @@ not practical for the current toolchain.
66
61
  |------------------------------------------------|--------------------------------------------------------|
67
62
  | 👟 Check it out! | ✨ [github.com/appraisal-rb/appraisal2][💎appraisal2] ✨ |
68
63
 
69
-
70
-
71
64
  ### Federated DVCS
72
65
 
73
66
  <details markdown="1">
@@ -142,29 +135,50 @@ This happens in a few different ways, and two of them are in the config below (`
142
135
 
143
136
  ## 🔧 Basic Usage
144
137
 
145
-
146
138
  ## 🦷 FLOSS Funding
147
139
 
148
- While pboling tools are free software and will always be, the project would benefit immensely from some funding.
140
+ While galtzo-floss tools are free software and will always be, the project would benefit immensely from some funding.
149
141
  Raising a monthly budget of... "dollars" would make the project more sustainable.
150
142
 
151
143
  We welcome both individual and corporate sponsors! We also offer a
152
144
  wide array of funding channels to account for your preferences.
153
- Currently, [GitHub Sponsors][🖇sponsor], and [Liberapay][⛳liberapay] are our preferred funding platforms.
145
+ Currently, [Open Collective][🖇osc] is our preferred funding platform.
154
146
 
155
- **If you're working in a company that's making significant use of pboling tools we'd
156
- appreciate it if you suggest to your company to become a pboling sponsor.**
147
+ **If you're working in a company that's making significant use of galtzo-floss tools we'd
148
+ appreciate it if you suggest to your company to become a galtzo-floss sponsor.**
157
149
 
158
- You can support the development of pboling tools via
150
+ You can support the development of galtzo-floss tools via
159
151
  [GitHub Sponsors][🖇sponsor],
160
152
  [Liberapay][⛳liberapay],
161
153
  [PayPal][🖇paypal],
154
+ [Open Collective][🖇osc]
162
155
  and [Tidelift][🏙️entsup-tidelift].
163
156
 
164
157
  | 📍 NOTE |
165
158
  |----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
166
159
  | If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
167
160
 
161
+ ### Open Collective for Individuals
162
+
163
+ Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/galtzo-floss#backer)]
164
+
165
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
166
+
167
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:START -->
168
+ No backers yet. Be the first!
169
+ <!-- OPENCOLLECTIVE-INDIVIDUALS:END -->
170
+
171
+ ### Open Collective for Organizations
172
+
173
+ Become a sponsor and get your logo on our README on GitHub with a link to your site. [[Become a sponsor](https://opencollective.com/galtzo-floss#sponsor)]
174
+
175
+ NOTE: [kettle-readme-backers][kettle-readme-backers] updates this list every day, automatically.
176
+
177
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:START -->
178
+ No sponsors yet. Be the first!
179
+ <!-- OPENCOLLECTIVE-ORGANIZATIONS:END -->
180
+
181
+ [kettle-readme-backers]: https://github.com/galtzo-floss/sanitize_email/blob/main/exe/kettle-readme-backers
168
182
 
169
183
  ### Another way to support open-source
170
184
 
@@ -176,7 +190,7 @@ I’m developing a new library, [floss_funding][🖇floss-funding-gem], designed
176
190
 
177
191
  **[Floss-Funding.dev][🖇floss-funding.dev]: 👉️ No network calls. 👉️ No tracking. 👉️ No oversight. 👉️ Minimal crypto hashing. 💡 Easily disabled nags**
178
192
 
179
- [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
193
+ [![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate on Polar][🖇polar-img]][🖇polar] [![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi] [![Donate to my FLOSS efforts using Patreon][🖇patreon-img]][🖇patreon]
180
194
 
181
195
  ## 🔐 Security
182
196
 
@@ -304,15 +318,28 @@ To join the community or get help 👇️ Join the Discord.
304
318
 
305
319
  To say "thanks!" ☝️ Join the Discord or 👇️ send money.
306
320
 
307
- [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
321
+ [![Sponsor galtzo-floss/sanitize_email on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
308
322
 
309
323
  ### Please give the project a star ⭐ ♥.
310
324
 
325
+ Many parts of this project are actively managed by a [kettle-jem](https://github.com/structuredmerge/structuredmerge-ruby/tree/main/gems/kettle-jem) smart template utilizing [StructuredMerge.org](https://structuredmerge.org) merge contracts.
326
+
311
327
  Thanks for RTFM. ☺️
312
328
 
313
329
  [⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
314
330
  [⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
315
331
  [⛳liberapay]: https://liberapay.com/pboling/donate
332
+ [🖇osc-all-img]: https://img.shields.io/opencollective/all/galtzo-floss
333
+ [🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss
334
+ [🖇osc-backers-img]: https://img.shields.io/opencollective/backers/galtzo-floss
335
+ [🖇osc-backers]: https://opencollective.com/galtzo-floss#backer
336
+ [🖇osc-backers-i]: https://opencollective.com/galtzo-floss/backers/badge.svg?style=flat
337
+ [🖇osc-sponsors]: https://opencollective.com/galtzo-floss#sponsor
338
+ [🖇osc-sponsors-i]: https://opencollective.com/galtzo-floss/sponsors/badge.svg?style=flat
339
+ [🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/galtzo-floss?style=for-the-badge
340
+ [🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/galtzo-floss?style=for-the-badge
341
+ [🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/galtzo-floss?style=for-the-badge
342
+ [🖇osc]: https://opencollective.com/galtzo-floss
316
343
  [🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
317
344
  [🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
318
345
  [🖇sponsor]: https://github.com/sponsors/pboling
@@ -336,7 +363,7 @@ Thanks for RTFM. ☺️
336
363
  [✉️ruby-friends]: https://app.daily.dev/squads/rubyfriends
337
364
 
338
365
  [✇bundle-group-pattern]: https://gist.github.com/pboling/4564780
339
- [⛳️gem-namespace]: https://github.com/galtzo-floss/sanitize_email/tree/main/gems/sanitize_email
366
+ [⛳️gem-namespace]: https://github.com/galtzo-floss/sanitize_email
340
367
  [⛳️namespace-img]: https://img.shields.io/badge/namespace-SanitizeEmail-3C2D2D.svg?style=square&logo=ruby&logoColor=white
341
368
  [⛳️gem-name]: https://bestgems.org/gems/sanitize_email
342
369
  [⛳️name-img]: https://img.shields.io/badge/name-sanitize__email-3C2D2D.svg?style=square&logo=rubygems&logoColor=red
@@ -376,11 +403,11 @@ Thanks for RTFM. ☺️
376
403
  [💁🏼‍♂️peterboling]: http://www.peterboling.com
377
404
  [🚂railsbling]: http://www.railsbling.com
378
405
  [📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
379
- [📜src-gl]: https://gitlab.com/galtzo-floss/sanitize_email/-/tree/main/gems/sanitize_email
406
+ [📜src-gl]: https://gitlab.com/galtzo-floss/sanitize_email
380
407
  [📜src-cb-img]: https://img.shields.io/badge/CodeBerg-4893CC?style=for-the-badge&logo=CodeBerg&logoColor=blue
381
- [📜src-cb]: https://codeberg.org/galtzo-floss/sanitize_email/src/branch/main/gems/sanitize_email
408
+ [📜src-cb]: https://codeberg.org/galtzo-floss/sanitize_email
382
409
  [📜src-gh-img]: https://img.shields.io/badge/GitHub-238636?style=for-the-badge&logo=Github&logoColor=green
383
- [📜src-gh]: https://github.com/galtzo-floss/sanitize_email/tree/main/gems/sanitize_email
410
+ [📜src-gh]: https://github.com/galtzo-floss/sanitize_email
384
411
  [📜docs-cr-rd-img]: https://img.shields.io/badge/RubyDoc-Current_Release-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
385
412
  [📜docs-head-rd-img]: https://img.shields.io/badge/YARD_on_Galtzo.com-HEAD-943CD2?style=for-the-badge&logo=readthedocs&logoColor=white
386
413
  [📜gl-wiki]: https://gitlab.com/galtzo-floss/sanitize_email/-/wikis/home
@@ -436,6 +463,7 @@ Thanks for RTFM. ☺️
436
463
  [🚎14-🔓️-wfi]: https://github.com/galtzo-floss/sanitize_email/actions/workflows/unlocked_deps.yml/badge.svg
437
464
  [🚎15-🪪-wf]: https://github.com/galtzo-floss/sanitize_email/actions/workflows/license-eye.yml
438
465
  [🚎15-🪪-wfi]: https://github.com/galtzo-floss/sanitize_email/actions/workflows/license-eye.yml/badge.svg
466
+ [💎ruby-2.3i]: https://img.shields.io/badge/Ruby-2.3_(%F0%9F%9A%ABCI)-AABBCC?style=for-the-badge&logo=ruby&logoColor=white
439
467
  [💎ruby-2.4i]: https://img.shields.io/badge/Ruby-2.4-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
440
468
  [💎ruby-2.5i]: https://img.shields.io/badge/Ruby-2.5-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
441
469
  [💎ruby-2.6i]: https://img.shields.io/badge/Ruby-2.6-DF00CA?style=for-the-badge&logo=ruby&logoColor=white
@@ -485,7 +513,7 @@ Thanks for RTFM. ☺️
485
513
  [📌gitmoji]: https://gitmoji.dev
486
514
  [📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
487
515
  [🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
488
- [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.276-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
516
+ [🧮kloc-img]: https://img.shields.io/badge/KLOC-0.273-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
489
517
  [🔐security]: https://github.com/galtzo-floss/sanitize_email/blob/main/SECURITY.md
490
518
  [🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
491
519
  [📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
@@ -493,7 +521,7 @@ Thanks for RTFM. ☺️
493
521
  [📄license-ref]: MIT.md
494
522
  [📄license-img]: https://img.shields.io/badge/License-MIT-259D6C.svg
495
523
  [📄license-compat]: https://www.apache.org/legal/resolved.html#category-a
496
- [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-✓-259D6C.svg?style=flat&logo=Apache
524
+ [📄license-compat-img]: https://img.shields.io/badge/Apache_Compatible:_Category_A-%E2%9C%93-259D6C.svg?style=flat&logo=Apache
497
525
 
498
526
  [📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
499
527
  [📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
@@ -513,7 +541,7 @@ Thanks for RTFM. ☺️
513
541
  | Package | sanitize_email |
514
542
  | Description | Email Condom for your Ruby Server.<br>In Rails, Sinatra, et al, or simply the mail gem: Aids in development, testing, qa, and production troubleshooting of email issues without worrying that emails will get sent to actual live addresses. |
515
543
  | Homepage | https://github.com/galtzo-floss/sanitize_email |
516
- | Source | https://github.com/galtzo-floss/sanitize_email/tree/v2.0.10 |
544
+ | Source | https://github.com/galtzo-floss/sanitize_email/tree/v2.0.11 |
517
545
  | License | `MIT` |
518
- | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/gh/pboling, https://tidelift.com/funding/github/rubygems/sanitize_email, https://www.buymeacoffee.com/pboling |
546
+ | Funding | https://github.com/sponsors/pboling, https://issuehunt.io/u/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/galtzo-floss, https://patreon.com/galtzo, https://polar.sh/pboling, https://thanks.dev/gh/pboling, https://tidelift.com/funding/github/rubygems/sanitize_email, https://www.buymeacoffee.com/pboling |
519
547
  <!-- kettle-jem:metadata:end -->
data/SECURITY.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  | Version | Supported |
6
6
  |----------|-----------|
7
- | 1.latest | ✅ |
7
+ | 2.0.latest | ✅ |
8
8
 
9
9
  ## Security contact information
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module SanitizeEmail
4
4
  module Version
5
- VERSION = "2.0.11"
5
+ VERSION = "2.0.12"
6
6
  end
7
7
  VERSION = Version::VERSION # Traditional Constant Location
8
8
  end
@@ -117,11 +117,20 @@ module SanitizeEmail
117
117
  #
118
118
  def sanitary(config_options = {})
119
119
  raise MissingBlockParameter, "SanitizeEmail.sanitary must be called with a block" unless block_given?
120
- janitor(forcing: true) do
120
+ forcing =
121
+ if config_options.key?(:activation_proc) || config_options.key?(:engage)
122
+ nil
123
+ else
124
+ true
125
+ end
126
+ janitor(forcing: forcing) do
121
127
  original = SanitizeEmail::Config.config.dup
122
- SanitizeEmail::Config.config.merge!(config_options)
123
- yield
124
- SanitizeEmail::Config.config = original
128
+ begin
129
+ SanitizeEmail::Config.config.merge!(config_options)
130
+ yield
131
+ ensure
132
+ SanitizeEmail::Config.config = original
133
+ end
125
134
  end
126
135
  end
127
136
 
@@ -149,6 +158,7 @@ module SanitizeEmail
149
158
  original = SanitizeEmail.force_sanitize
150
159
  SanitizeEmail.force_sanitize = options[:forcing]
151
160
  yield
161
+ ensure
152
162
  SanitizeEmail.force_sanitize = original
153
163
  end
154
164
 
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sanitize_email
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.11
4
+ version: 2.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter Boling
@@ -62,7 +62,7 @@ dependencies:
62
62
  version: '1.1'
63
63
  - - ">="
64
64
  - !ruby/object:Gem::Version
65
- version: 1.1.9
65
+ version: 1.1.11
66
66
  type: :runtime
67
67
  prerelease: false
68
68
  version_requirements: !ruby/object:Gem::Requirement
@@ -72,27 +72,27 @@ dependencies:
72
72
  version: '1.1'
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 1.1.9
75
+ version: 1.1.11
76
76
  - !ruby/object:Gem::Dependency
77
77
  name: kettle-dev
78
78
  requirement: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.0'
82
+ version: '2.2'
83
83
  - - ">="
84
84
  - !ruby/object:Gem::Version
85
- version: 2.0.5
85
+ version: 2.2.9
86
86
  type: :development
87
87
  prerelease: false
88
88
  version_requirements: !ruby/object:Gem::Requirement
89
89
  requirements:
90
90
  - - "~>"
91
91
  - !ruby/object:Gem::Version
92
- version: '2.0'
92
+ version: '2.2'
93
93
  - - ">="
94
94
  - !ruby/object:Gem::Version
95
- version: 2.0.5
95
+ version: 2.2.9
96
96
  - !ruby/object:Gem::Dependency
97
97
  name: bundler-audit
98
98
  requirement: !ruby/object:Gem::Requirement
@@ -147,20 +147,20 @@ dependencies:
147
147
  requirements:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
- version: '3.0'
150
+ version: '3.1'
151
151
  - - ">="
152
152
  - !ruby/object:Gem::Version
153
- version: 3.0.6
153
+ version: 3.1.2
154
154
  type: :development
155
155
  prerelease: false
156
156
  version_requirements: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - "~>"
159
159
  - !ruby/object:Gem::Version
160
- version: '3.0'
160
+ version: '3.1'
161
161
  - - ">="
162
162
  - !ruby/object:Gem::Version
163
- version: 3.0.6
163
+ version: 3.1.2
164
164
  - !ruby/object:Gem::Dependency
165
165
  name: kettle-test
166
166
  requirement: !ruby/object:Gem::Requirement
@@ -170,7 +170,7 @@ dependencies:
170
170
  version: '2.0'
171
171
  - - ">="
172
172
  - !ruby/object:Gem::Version
173
- version: 2.0.1
173
+ version: 2.0.5
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
@@ -180,7 +180,27 @@ dependencies:
180
180
  version: '2.0'
181
181
  - - ">="
182
182
  - !ruby/object:Gem::Version
183
- version: 2.0.1
183
+ version: 2.0.5
184
+ - !ruby/object:Gem::Dependency
185
+ name: turbo_tests2
186
+ requirement: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - "~>"
189
+ - !ruby/object:Gem::Version
190
+ version: '3.1'
191
+ - - ">="
192
+ - !ruby/object:Gem::Version
193
+ version: 3.1.3
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '3.1'
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: 3.1.3
184
204
  - !ruby/object:Gem::Dependency
185
205
  name: ruby-progressbar
186
206
  requirement: !ruby/object:Gem::Requirement
@@ -224,7 +244,7 @@ dependencies:
224
244
  version: '2.0'
225
245
  - - ">="
226
246
  - !ruby/object:Gem::Version
227
- version: 2.0.0
247
+ version: 2.0.2
228
248
  type: :development
229
249
  prerelease: false
230
250
  version_requirements: !ruby/object:Gem::Requirement
@@ -234,7 +254,7 @@ dependencies:
234
254
  version: '2.0'
235
255
  - - ">="
236
256
  - !ruby/object:Gem::Version
237
- version: 2.0.0
257
+ version: 2.0.2
238
258
  - !ruby/object:Gem::Dependency
239
259
  name: appraisal
240
260
  requirement: !ruby/object:Gem::Requirement
@@ -249,6 +269,20 @@ dependencies:
249
269
  - - "~>"
250
270
  - !ruby/object:Gem::Version
251
271
  version: '2.5'
272
+ - !ruby/object:Gem::Dependency
273
+ name: psych
274
+ requirement: !ruby/object:Gem::Requirement
275
+ requirements:
276
+ - - "<"
277
+ - !ruby/object:Gem::Version
278
+ version: '5.3'
279
+ type: :development
280
+ prerelease: false
281
+ version_requirements: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "<"
284
+ - !ruby/object:Gem::Version
285
+ version: '5.3'
252
286
  - !ruby/object:Gem::Dependency
253
287
  name: rdoc
254
288
  requirement: !ruby/object:Gem::Requirement
@@ -321,7 +355,7 @@ description: |2
321
355
  Email Condom for your Ruby Server.
322
356
  In Rails, Sinatra, et al, or simply the mail gem: Aids in development, testing, qa, and production troubleshooting of email issues without worrying that emails will get sent to actual live addresses.
323
357
  email:
324
- - peter.boling@gmail.com
358
+ - floss@galtzo.com
325
359
  executables: []
326
360
  extensions: []
327
361
  extra_rdoc_files:
@@ -364,10 +398,10 @@ licenses:
364
398
  - MIT
365
399
  metadata:
366
400
  homepage_uri: https://sanitize-email.galtzo.com
367
- source_code_uri: https://github.com/galtzo-floss/sanitize_email/tree/v2.0.11
368
- changelog_uri: https://github.com/galtzo-floss/sanitize_email/blob/v2.0.11/CHANGELOG.md
401
+ source_code_uri: https://github.com/galtzo-floss/sanitize_email/tree/v2.0.12
402
+ changelog_uri: https://github.com/galtzo-floss/sanitize_email/blob/v2.0.12/CHANGELOG.md
369
403
  bug_tracker_uri: https://github.com/galtzo-floss/sanitize_email/issues
370
- documentation_uri: https://www.rubydoc.info/gems/sanitize_email/2.0.11
404
+ documentation_uri: https://www.rubydoc.info/gems/sanitize_email/2.0.12
371
405
  funding_uri: https://github.com/sponsors/pboling
372
406
  wiki_uri: https://github.com/galtzo-floss/sanitize_email/wiki
373
407
  news_uri: https://www.railsbling.com/tags/sanitize_email
metadata.gz.sig CHANGED
Binary file