aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/kernel/concern.rb
Commit message (Collapse)AuthorAgeFilesLines
* Don't publicize Kernel core extensionsGenadi Samokovarov2016-02-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reaction to a [bug] we hit in web-console. The cause of it was a `Kernel` extension called `#console` that was public and was fighting over Railties with console block to be run on `rails console`. We solved it by making the method private. We did that through `module_function` so `::Kernel.console` can be invoked even in `BasicObject`. I'm proposing to make most of the core Active Support `Kernel` extensions `module_function` as well. Those are currently public and we are polluting every `Object` public interface with them. ```ruby >> Object.new.respond_to? :silence_warnings => true >> Object.new.respond_to? :with_warnings => true >> Object.new.respond_to? :enable_warnings => true >> Object.new.respond_to? :suppress => true `` Some extensions like `Kernel#class_eval` should be public, but most of them don't really need to be. [bug]: https://github.com/rails/web-console/issues/184
* Fix concerning module reference [ci skip]Carlos Antonio da Silva2014-02-261-1/+1
|
* Introduce Concern#class_methods and Kernel#concernJeremy Kemper2014-02-231-0/+10