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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +23 -1
- data/CITATION.cff +2 -2
- data/CONTRIBUTING.md +20 -4
- data/FUNDING.md +13 -2
- data/LICENSE.md +13 -13
- data/README.md +56 -28
- data/SECURITY.md +1 -1
- data/lib/sanitize_email/version.rb +1 -1
- data/lib/sanitize_email.rb +14 -4
- data.tar.gz.sig +0 -0
- metadata +53 -19
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9307cb56be3bde5294d38c2c1fb823458f458ea1db6e0868c55638b4b3126089
|
|
4
|
+
data.tar.gz: 9d9d4aa8f7e9d95c0b972cae2fa82037af0ee1f0cf55b9240f65028069b2fa99
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
|
15
|
+
value: 'https://github.com/galtzo-floss/sanitize_email'
|
|
16
16
|
description: "sanitize_email"
|
|
17
|
-
repository-code: 'https://github.com/galtzo-floss/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
|
|
237
|
-
[📜src-cb]: https://codeberg.org/galtzo-floss/sanitize_email
|
|
238
|
-
[📜src-gh]: https://github.com/galtzo-floss/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
|
-
|
|
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][
|
|
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
|
|
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, [
|
|
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
|
|
156
|
-
appreciate it if you suggest to your company to become a
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
data/lib/sanitize_email.rb
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
82
|
+
version: '2.2'
|
|
83
83
|
- - ">="
|
|
84
84
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: 2.
|
|
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.
|
|
92
|
+
version: '2.2'
|
|
93
93
|
- - ">="
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: 2.
|
|
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.
|
|
150
|
+
version: '3.1'
|
|
151
151
|
- - ">="
|
|
152
152
|
- !ruby/object:Gem::Version
|
|
153
|
-
version: 3.
|
|
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.
|
|
160
|
+
version: '3.1'
|
|
161
161
|
- - ">="
|
|
162
162
|
- !ruby/object:Gem::Version
|
|
163
|
-
version: 3.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
-
|
|
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.
|
|
368
|
-
changelog_uri: https://github.com/galtzo-floss/sanitize_email/blob/v2.0.
|
|
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.
|
|
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
|