You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provide a detailed description of the proposed feature
We should clean up extend/ to remove most monkey-patches (i.e. overriding/adding existing functionality) from core Ruby classes like e.g. String, Pathname, etc.
The exceptions should be:
those that mirror ActiveSupport e.g. present?, blank?, etc.
those that are extremely widely used (such as the above)
For monkey-patches used in formulae and/or casks: we should instead have modules included in e.g. Formula/Cask or refinements on e.g. Pathname so that they can be used as custom DSLs when possible rather than globally overriding methods.
What is the motivation for the feature?
More vanilla Ruby usage.
More clarify about when we're overriding functionality.
How will the feature be relevant to at least 90% of Homebrew users?
It won't be.
What alternatives to the feature have been considered?
Doing nothing.
The text was updated successfully, but these errors were encountered:
@apainintheneck Yeh, I'm not up-to-date with the best approach there but, in general, "monkeypatch instances rather than classes" feels like it's a better fit for us (and much easier than for other projects given how we load Formula/Casks).
Verification
brew install wget
. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.Provide a detailed description of the proposed feature
We should clean up
extend/
to remove most monkey-patches (i.e. overriding/adding existing functionality) from core Ruby classes like e.g. String, Pathname, etc.The exceptions should be:
present?
,blank?
, etc.For monkey-patches used in formulae and/or casks: we should instead have modules included in e.g.
Formula
/Cask
or refinements on e.g.Pathname
so that they can be used as custom DSLs when possible rather than globally overriding methods.What is the motivation for the feature?
How will the feature be relevant to at least 90% of Homebrew users?
It won't be.
What alternatives to the feature have been considered?
Doing nothing.
The text was updated successfully, but these errors were encountered: