|
1 | | -| 📍 NOTE | |
2 | | -|-------------------------------------------------------------------------------------------------------------------------------------------------------------| |
3 | | -| RubyGems.org was [recently compromised][draper-security] in a [hostile takeover][draper-takeover] about which [many lies][draper-lies] have been told. | |
4 | | -| I'm in the process of adding warnings to some important gems because I [don't condone the theft][draper-theft] of the bundler and rubygems-update projects. | |
5 | | -| Once publishing to [gem.coop][gem-coop] is available I will stop publishing to RubyGems.org. | |
6 | | -| Please see [here][gem-coop] and [here][martin-ann] for more info on what comes next. | |
7 | | - |
| 1 | +| 📍 NOTE | |
| 2 | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
| 3 | +| RubyGems (the [GitHub org][rubygems-org], not the website) [suffered][draper-security] a [hostile takeover][ellen-takeover] in September 2025. | |
| 4 | +| Ultimately [4 maintainers][simi-removed] were [hard removed][martin-removed] and a reason has been given for only 1 of those, while 2 others resigned in protest. | |
| 5 | +| It is a [complicated story][draper-takeover] which is difficult to [parse quickly][draper-lies]. | |
| 6 | +| I'm adding notes like this to gems because I [don't condone theft][draper-theft] of repositories or gems from their rightful owners. | |
| 7 | +| If a similar theft happened with my repos/gems, I'd hope some would stand up for me. | |
| 8 | +| Disenfranchised former-maintainers have started [gem.coop][gem-coop]. | |
| 9 | +| Once available I will publish there exclusively; unless RubyCentral makes amends with the community. | |
| 10 | +| The ["Technology for Humans: Joel Draper"][reinteractive-podcast] podcast episode by [reinteractive][reinteractive] is the most cogent summary I'm aware of. | |
| 11 | +| See [here][gem-naming], [here][gem-coop] and [here][martin-ann] for more info on what comes next. | |
| 12 | +| What I'm doing: A (WIP) proposal for [bundler/gem scopes][gem-scopes], and a (WIP) proposal for a federated [gem server][gem-server]. | |
| 13 | + |
| 14 | +[rubygems-org]: https://github.com/rubygems/ |
8 | 15 | [draper-security]: https://joel.drapper.me/p/ruby-central-security-measures/ |
9 | 16 | [draper-takeover]: https://joel.drapper.me/p/ruby-central-takeover/ |
| 17 | +[ellen-takeover]: https://pup-e.com/blog/goodbye-rubygems/ |
| 18 | +[simi-removed]: https://www.reddit.com/r/ruby/s/gOk42POCaV |
| 19 | +[martin-removed]: https://bsky.app/profile/martinemde.com/post/3m3occezxxs2q |
10 | 20 | [draper-lies]: https://joel.drapper.me/p/ruby-central-fact-check/ |
11 | 21 | [draper-theft]: https://joel.drapper.me/p/ruby-central/ |
| 22 | +[reinteractive]: https://reinteractive.com/ruby-on-rails |
12 | 23 | [gem-coop]: https://gem.coop |
| 24 | +[gem-naming]: https://github.com/gem-coop/gem.coop/issues/12 |
13 | 25 | [martin-ann]: https://martinemde.com/2025/10/05/announcing-gem-coop.html |
| 26 | +[gem-scopes]: https://github.com/galtzo-floss/bundle-namespace |
| 27 | +[gem-server]: https://github.com/galtzo-floss/gem-server |
| 28 | +[reinteractive-podcast]: https://youtu.be/_H4qbtC5qzU?si=BvuBU90R2wAqD2E6 |
14 | 29 |
|
15 | 30 | [![Galtzo FLOSS Logo by Aboling0, CC BY-SA 4.0][🖼️galtzo-i]][🖼️galtzo-discord] [![omniauth Logo by tomeara(?), MIT License][🖼️omniauth-i]][🖼️omniauth] [![ruby-lang Logo, Yukihiro Matsumoto, Ruby Visual Identity Team, CC BY-SA 2.5][🖼️ruby-lang-i]][🖼️ruby-lang] |
16 | 31 |
|
|
399 | 414 | `locate_conditions` takes a `Proc` object, and must return a `Hash` object, which will be used |
400 | 415 | as the argument to the locate method for your ORM. The proc is evaluated in the |
401 | 416 | callback context, and has access to your `Identity` model (using `model`) and receives the request |
402 | | -object as a parameter. Note that `model.auth_key` defaults to `email`, but is also configurable. |
| 417 | +object as a parameter. Note that `model.auth_key` defaults to `email`, but is also configurable. |
403 | 418 |
|
404 | 419 | Note: Be careful when customizing `locate_conditions`. The best way to modify the conditions is |
405 | 420 | to copy the default value, and then add to the hash. Removing the default condition will almost |
|
0 commit comments